发表于: 2020-09-24 23:42:49
1 1343
今天完成的事:
spring Security Demo
导包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
//认证
@Override
protected void configure(HttpSecurity http) throws Exception {
//首页所有人都可以访问,功能只有对应权限的人才能访问。
http.authorizeRequests()
.antMatchers("/").permitAll()
.antMatchers("/L1/**").hasRole("vip1")
.antMatchers("/L2/**").hasRole("vip2")
.antMatchers("/L3/**").hasRole("vip3");
//没有权限会跳转到登录页
http.formLogin()
.loginPage("/tologin")
.loginProcessingUrl("/login")
.usernameParameter("user")
.passwordParameter("pwd");
//注销
http.logout().logoutSuccessUrl("/index");
http.rememberMe();
}
//授权
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication().passwordEncoder(new BCryptPasswordEncoder())
.withUser("wyl").password(new BCryptPasswordEncoder().encode("123456")).roles("vip1", "vip2")
.and().withUser("root").password(new BCryptPasswordEncoder().encode("123456")).roles("vip1", "vip2", "vip3")
.and().withUser("guest").password(new BCryptPasswordEncoder().encode("123456")).roles("vip1");
}
}
root 用户有全部权限,wyl有查看vip1,vip2的权限,guest只有vip1的权限,测试:
root:
wyl:
可以看到效果。
评论