栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringSecurity权限管理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringSecurity权限管理

SpringSecurity权限管理

Security能做什么?

用户认证:系统认为用户是否能够登录

用户授权:系统判断用户是否有权力去做某些事情

SpringSecurity特点:
  1. 和Spring无缝整合
  2. 全面的权限控制
  3. 专门为web开发而设计
  4. 重量级 需要引入各种依赖

SpringSecurity基本原理:

SpringSecurity本质上是一个过滤器链  包含很多个过滤器

执行流程:
  1. 配置DelegatingFilterProxy
  2. 执行doFilter
  3. initDelegate初始化
  4. String targetBeanName =this.getTargetBeanName 获取到内置过滤器FilterChainProxy
  5. doFilterInternal过滤器调用getFilters方法
  6. getFilters通过迭代器最终返回List
  7. List集合中加载了所有的过滤器

部分代码:  1.web.xml

    
    springSecurityFilterChain
    org.springframework.web.filter.DelegatingFilterProxy


    springSecurityFilterChain
    /*
2.SpringSecurityUserService
@Component
public class SpringSecurityUserService implements UserDetailsService {

    @Reference
    private UserService userService;

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        //通过用户名查找用户
        com.aaa.pojo.User user = userService.findUserByUsername(username);
        if (user == null){
            return null;
        }
        List list = new ArrayList<>();
        Set roles = user.getRoles();
        for (Role role : roles) {
            list.add(new SimpleGrantedAuthority(role.getKeyword()));
            Set permissions = role.getPermissions();
            for (Permission permission : permissions) {
                list.add(new SimpleGrantedAuthority(permission.getKeyword()));
            }
        }
        UserDetails userDetails = new User(username,user.getPassword(),list);
        return userDetails;
    }
}
3.applicationContext-security.xml







    
        
        
    
    
    
    
    

    
    
    

    
    

    
    





    
    
        
        
    








权限管理经典数据库设计(5表、7表)

1.7表

2.5表

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763113.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号