shiro源码分析01 -- Subject

本文介绍了Shiro框架中的核心概念Subject,它代表了系统中的用户或与系统交互的实体。Subject不仅包括了用户的标识(principals)、认证状态(authenticated)、登录主机地址(host),还涉及了与会话(session)及HTTP请求(request, response)的关联。Subject的生命周期中,每次访问都会创建新的实例,并将其绑定到ThreadContext,确保在请求中能获取到同一Subject。同时,SubjectDAO将principal和认证状态保存到session,确保信息的持久化。" 131841734,8651756,微调LLama 2.0:GPU上的高效训练,"['自然语言处理', '预训练模型', '模型微调', 'GPU计算', '深度学习']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是Subject对象

在shiro中我们通常会将Subject对象理解为一个用户,同样的它也有可能是一个三方程序,它是一个抽象的概念,可以理解为任何与系统交互的“东西”都是Subject。

Subject对象内置属性

Subject其实是一个声明接口,使用的默认类是WebDelegatingSubject,是DelegatingSubject的子类。其中这个WebDelegatingSubject里面含有以下的参数:

  • principals:主键(或者标记的集合)
  • authenticated :是否校验
  • host :登录时的IP
  • session :当前的session(经过shiro封装的)
  • request :发起请求
  • response :响应
  • securityManager :spring中配置的securityManager

Subject的生命周期:每一次访问时都会创建一个新的subject,然后创建shiro封装后

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值