http. formLogin() loginPage(" /user/login" ). permitAll() loginProcessingUr1(" /user/doLogin" ) usernameParameter (" name" ) . passwordParameter(" pass" ) . defaultSuccessUr1(" /");
时间: 2023-07-21 13:58:46 浏览: 39
这也是一个 Spring Security 中的配置,用于配置表单登录相关的参数。其中,formLogin() 方法表示使用表单登录方式,loginPage() 方法指定登录页的 URL,permitAll() 表示该 URL 对所有用户开放,loginProcessingUrl() 方法指定登录请求的 URL,usernameParameter() 和 passwordParameter() 方法分别指定用户名和密码的参数名,defaultSuccessUrl() 方法指定登录成功后跳转的 URL。在这个例子中,登录页的URL为 /user/login,登录请求的URL为 /user/doLogin,用户名参数名为 name,密码参数名为 pass,登录成功后跳转到 /。
相关问题
spring boot 2.6.3整合spring security
好的,下面是整合步骤:
1. 引入依赖
在 `pom.xml` 中引入以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
```
2. 配置安全属性
在 `application.properties` 文件中配置安全属性:
```properties
# 配置登录页面
spring.security.login-page=/login
# 配置登录请求
spring.security.login-processing-url=/doLogin
# 配置退出请求
spring.security.logout-url=/logout
# 配置退出成功后跳转页面
spring.security.logout-success-url=/
# 配置用户信息
spring.security.user.name=user
spring.security.user.password=password
spring.security.user.roles=USER
```
3. 配置安全策略
在 `WebSecurityConfig` 中配置安全策略:
```java
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/home").permitAll() // 允许访问首页和 home 页面
.anyRequest().authenticated() // 其他请求需要认证
.and()
.formLogin()
.loginPage("/login") // 配置登录页面
.loginProcessingUrl("/doLogin") // 配置登录请求
.defaultSuccessUrl("/hello") // 登录成功后跳转到 hello 页面
.permitAll()
.and()
.logout()
.logoutUrl("/logout") // 配置退出请求
.logoutSuccessUrl("/") // 配置退出成功后跳转页面
.permitAll();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("user")
.password("{noop}password") // 密码加密方式为 plain text
.roles("USER");
}
}
```
以上就是整合 Spring Security 的基本步骤,你可以根据需求进行更进一步的配置。
使用security做一个登录并且自定义登录页面
可以使用Spring Security框架来实现登录,并且可以自定义登录页面。具体步骤如下:
1. 引入Spring Security的依赖:
```xml
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.4.5</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>5.4.5</version>
</dependency>
```
2. 配置Spring Security:
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/login").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/customLogin") // 自定义登录页面
.loginProcessingUrl("/doLogin")
.defaultSuccessUrl("/")
.permitAll();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("user").password("{noop}password").roles("USER");
}
}
```
3. 在自定义登录页面中添加表单:
```html
<form action="/doLogin" method="post">
<div>
<label for="username">Username:</label>
<input type="text" name="username" id="username" />
</div>
<div>
<label for="password">Password:</label>
<input type="password" name="password" id="password" />
</div>
<div>
<button type="submit">Log in</button>
</div>
</form>
```
以上就是实现使用Spring Security做一个登录并且自定义登录页面的步骤。