文章目录
全文中的/admin/all 权限皆是个人配置的,也可修改成其他的,该项是经过配置类进行配置,在springsecurity实现登录一文中进行了配置,看不懂的先考古,
如果在配置类中遍历的表和本文不一样,即如果表里的字段值为1,那么代表1是你的权限,如果其他用户的该表字段值不为1则不得访问该资源
🥇后端鉴权配置
✨我们要对接口进行鉴权配置,即用户拥有权限才能访问该接口
①开启鉴权配置
// Security配置类
@Configuration
// 开启鉴权配置注解
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter{
}
②在需要鉴权的接口上方添加鉴权注解
@PreAuthorize("hasAnyAuthority('/admin/all')")
public ModelAndView all(@RequestParam(defaultValue = "1") int page,
@RequestParam(defaultValue = "10") int size) {
}
只有当用户拥有/admin/all的权限才能够访问
🥈前端鉴权配置
在开发中,如果用户没有权限,我们往往会将页面上的内容隐藏。
此时需要Thymeleaf整合Spring Security进行前端鉴权。
①修改common_aside.html,添加thymeleaf-springsecurity命名空间
<html xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5">
②修改common-aside,加入security标签进行前端鉴权
<li id="admin" sec:authorize="hasAnyAuthority('/admin/all')">
<a href="/backstage/admin/all">
<i class="fa fa-circle-o"></i>用户管理
</a>
</li>
通过上面的sec:authorize="hasAnyAuthority('/admin/all')"
来对前端进行鉴权配置,如果有admin/all权限则显示该组件
本文含有隐藏内容,请 开通VIP 后查看