Spring Security
-
权限管理
- 功能权限
- 访问权限
- 菜单权限
-
替代
- 拦截器
- 过滤器
-
权限管理框架
- spring security
- shiro
<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("/xx1/**").hasRole("xx1") //路径"/xx1"只有角色xx1可以访问
.antMatchers("/xx2/**").hasRole("xx2"); //路径"/xx2"只有角色xx2可以访问
//没有权限迷人进入登录页面
//http.formLogin().loginPage("/tologin.html");
http.formLogin();
//注销
http.logout().logoutUrl("/index.html");
//开启记住我功能 cookie
http.rememberMe();
}
//认证
//新版需要加密(spring security 5.0+)
protected void configure(AuthenticationManagerBuilder auth) throws Exception{
auth.inMemoryAuthentication().passwordEncoder(new BCryptPasswordEncoder())//内存
.withUser("weixin").password(new BCryptPasswordEncoder().encode("123456")).roles("user")
.and()
.withUser("root").password(new BCryptPasswordEncoder().encode("root")).roles("user","student");
}
}