Spring Security默认不同角色的成功for是指在Spring Security框架中,不同角色的用户在成功登录后,会被重定向到不同的页面或执行不同的操作。这是通过配置角色与对应的成功for的映射关系来实现的。
在Spring Security中,可以通过配置HttpSecurity
对象来定义不同角色的成功for。具体的配置方式如下:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/user/**").hasRole("USER")
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/default")
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl("/login")
.and()
.csrf().disable();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("admin").password("{noop}admin").roles("ADMIN")
.and()
.withUser("user").password("{noop}user").roles("USER");
}
}
上述配置中,.antMatchers("/admin/**").hasRole("ADMIN")
表示访问以/admin/
开头的URL需要具有ADMIN
角色;.antMatchers("/user/**").hasRole("USER")
表示访问以/user/
开头的URL需要具有USER
角色。当用户成功登录后,如果具有对应的角色,会被重定向到/default
页面。
对于不同角色的成功for,可以根据实际需求进行定制。例如,可以将管理员角色重定向到管理后台页面,普通用户角色重定向到用户主页等。
推荐的腾讯云相关产品:腾讯云云服务器(https://cloud.tencent.com/product/cvm)