Security权限管理
基于security权限管理的简单实现,使用jwt的方式。
- 新建spring boot工程
引入相关依赖
1 |
|
user类
user对象实现UserDetails接口
1 |
|
Role类
1 | import lombok.Data; |
jwt工具类
1 | package com.qzyd.digitalexpo.sourcetracing.util; |
jwtfilter
1 |
|
SecurityWebConfig
1 |
|
UserDetailsService 实现
1 |
|
SecurityInterceptor拦截器
1 |
|
FilterInvocationSecurityMetadataSource
1 | import com.felix.project.entity.RolePermisson; |
自定义 AccessDeniedHandler
1 |
|
自定义MyAccessDecisionManager
1 |
|
RoleMapper
1
2
3
4
5
public interface RoleMapper {
" SELECT A.id,A.name FROM role A LEFT JOIN user_role B ON A.id=B.role_id WHERE B.user_id=${userId}") (
List<Role> getRolesByUserId(@Param("userId") Integer userId);
}RolePermission
1 |
|
sql脚本
1 | DROP TABLE IF EXISTS `permission`; |