MYshiro

(1)使用用户的登录信息创建令牌

UsernamePasswordToken token = new UsernamePasswordToken(username, password);

token可以理解为用户令牌,登录的过程被抽象为Shiro验证令牌是否具有合法身份以及相关权限。

(2)执行登陆动作

SecurityUtils.setSecurityManager(securityManager); // 注入SecurityManager
Subject subject = SecurityUtils.getSubject(); // 获取Subject单例对象
subject.login(token); // 登陆

Shiro的核心部分是SecurityManager,它负责安全认证与授权。Shiro本身已经实现了所有的细节,用户可以完全把它当做一个黑盒来使用。SecurityUtils对象,本质上就是一个工厂类似Spring中的ApplicationContext。Subject可以为user 线程等。它是你目前所设计的需要通过Shiro保护的项目的一个抽象概念。通过令牌(token)与项目(subject)的登陆(login)关系,Shiro保证了项目整体的安全。

(3)判断用户

Shiro本身无法知道所持有令牌的用户是否合法,除了实现人员没有人知道。因此Realm我们自行实现的模块。

(4)权限校验

AuthenticationInfo代表了用户的角色信息集合,AuthorizationInfo代表了角色的权限信息集合这个根据项目讲解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、架构 要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙。Shiro的应用...
    ITsupuerlady阅读 8,879评论 4 32
  • 构建用户管理微服务翻译自:https://springuni.com 构建用户管理微服务(一):定义领域模型和 R...
    极乐君阅读 5,501评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,107评论 19 139
  • 我一直都有读书的习惯,但也并不是每天都看书,看过《书都不会读,你还想成功后》,便给自己定下了100天读33本书的计...
    兰珏与宣阅读 2,372评论 1 2
  • 昨天,有位播音问我,他拿到一篇文章,里面是两个人的对话。 张三:xxxxxxxxxxxxxxxxxxxxxxxxx...
    朗读者晟焕阅读 4,028评论 0 0

友情链接更多精彩内容