首页 > 其他分享 >自学shiro

自学shiro

时间:2023-04-03 23:12:36浏览次数:24  
标签:info permissionSet user roleSet new 自学 shiro User

1.实现AuthorizingRealm接口,重写两个方法

public class AuthRealm extends AuthorizingRealm {
    @Autowired
    private UserService userService;

    //授权
    @Override
    protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
        User user = (User) principals.fromRealm(this.getClass().getName()).iterator().next();
        List<String> permissionList = new ArrayList<String>();
        List<String> roleNameList = new ArrayList<String>();
        Set<Role> roleSet = user.getRoles();
        if (CollectionUtils.isNotEmpty(roleSet)) {
            for (Role role : roleSet) {
                roleNameList.add(role.getRname());
                Set<Permission> permissionSet = role.getPermissions();
                if (CollectionUtils.isNotEmpty(permissionSet)) {
                    for (Permission permission : permissionSet) {
                        permissionList.add(permission.getName());
                    }
                }
            }
        }
        SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
        info.addStringPermissions(permissionList);
        info.addRoles(roleNameList);
        return info;
    }

    // 认证登陆
    @Override
    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
        UsernamePasswordToken usernamePasswordToken = (UsernamePasswordToken) authenticationToken;
        String username = usernamePasswordToken.getUsername();
        User user = userService.findByUsername(username);
        return new SimpleAuthenticationInfo(user, user.getPassword(), this.getClass().getName());
    }
}

标签:info,permissionSet,user,roleSet,new,自学,shiro,User
From: https://www.cnblogs.com/fxx5/p/17284844.html

相关文章

  • Shiro 安全框架
    1、Shiro架构Shiro是一款应用非常广泛的安全框架,它可以完成:认证、授权、加密、会话管理、与Web集成、缓存等功能。其中:⚫Authentication:身份认证/登录,验证用户是不是拥有相应的身份;⚫Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是......
  • Twitter营销教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介IT宝库整理的推特营销入门教程-从基本到高级概念简单步骤的Twitter营销,包括概述,帐户和个人资料,追随者,普通推文,图像和视频帖子,可嵌入推文,Hashtags,转发,列表,有用功能,Twitter搜索,Twitter卡,定义策略,声誉管理,管理转换,自动化,本地分析,HootSuite。教程目录Twitter营销教程Tw......
  • Shiro安全框架
    pom.xml<!--shiro整合包--><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId>......
  • 计算机科学与技术应该如何系统地自学?
    计算机科学的首要主题探索计算领域的广度,能帮助我们记住与计算机科学相结合的主要主题。虽然“计算机科学的七大思想”(SevenBigIdeasofComputerScience)的编纂晚于本书......
  • Shiro集成Web时的url匹配规则
    实现在上面实现Web整合的基础上配置文件shiro.ini中进行配置url匹配。现有的shiro.ini代码:[main]authc.loginUrl=/loginroles.unauthorizedUrl=/unauthorized.jspperms.......
  • 从实例入手Shiro并实现HellloWorld
    场景shiroApacheShiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动......
  • 使用Shiro的JdbcRealm实现查询数据库进行身份认证
    场景Subject认证主体Subject认证主体包含两个信息:1.Principals:身份,可以是用户名,邮件,手机号码等,可以用来标识一个登录主体身份。2.Credentials:凭证,常见有密码,数字证书等。......
  • MS SQL服务器教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介IT宝库整理的MSSQLServer入门教程-从基本概念开始,简单易学地MSSQLServer,其中包括概述,版本,安装,体系结构,管理工作室,登录数据库,创建数据库,选择数据库,删除数据......
  • Microsoft Project教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介IT宝库MS项目入门教程-从基本概念开始,简单易学地学习MS项目,包括设置,简介,入门,创建新计划,设置资源,为任务分配资源,计划持续时间成本和时间,跟踪进度,高级计划,项目状......
  • Microsoft Access教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介IT宝库整理的初学者MSAccess教程-从简单和简单的步骤学习MSAccess,从基本到高级概念,包括概述,RDBMS,对象,创建数据库,表,查询,关系,表单,数据类型,添加,查询,分组,汇总等示......