1.引入security依赖
所有接口都受保护(访问的所有接口都需要登录)
2.提供的默认账号和密码
帐号:user 密码:后端控制台生成的一串 提供默认登陆页面
3.考虑自定义用户名和密码
需要自定义类,实现userDetailServer接口,重写loadUserByUsername方法,在方法中根据前端输入的用户名查询数据库中该用户的信息
4.配置SecurityConfig中自定义类,重写configure方法
5.自定义表单认证,重写configure方法满足方法中指定登录页面和登录请求URL(记得加上 http.authorizeRequests()
.anyRequest().authenticated
关闭csrf)
授权:
1. .anMatchers(”/***“).hasAuthorith("***") 注意:路径需要加/
2.用注解方式实现接口权限控制
2.1 开启注解式权限控制,默认都是关闭的,用(需要使用的属性 = true)开启 @EnableGlobalMethodSecurity(securedEnabled = true, jsr250Enabled = true, prePostEnabled = true)
2.2 建议使用这种方式
@PreAuthorize("hasAuthority('hello')")
前后端分离项目需要的处理器
1.配置四个处理器,用来返回前后端分离时需要的json数据。写完要在配置类中配置
2.需要写一个jwt过滤器