Shiro安全框架口述理解

shiro核心组件

subject

包含了身份和凭证两个信息

SecurityManager

安全管理器,shiro所有操作都在安全管理器的保护之下

Realm

可以理解为是shiro的数据源,主要用于获取认证凭证和权限信息。可以配置多个Realm。

认证和授权流程

认证

登录请求过来后,调用主题(subject)中的login方法,然后到安全管理器(SecurityManager)调用认证器(Authenticator),最终认证动作会交给Realm中的认证方法来执行,这里是我们需要自己定义认证策略的地方。认证通过后通知前端登录成功并返回登录用户信息给前端;认证失败后可以进行其他操作,如给出相应的提示等。

授权

和认证一样需要再Realm中定义授权策略,但是该策略不会登录后立即执行,而是在判断权限的时候去执行这个授权策略,判断权限可以是在后端拦截器中,也可以是在前端代码中使用shiro标签来完成。

内置过滤器

shiro有 11 个内置过滤器,分别是:

  • ssl :只有请求协议是https才能访问
  • user :用户身份过滤器,用户身份已认证或记住该用户的都可以访问
  • anon :匿名过滤器,不需要登录即可访问
  • port :端口过滤器,指定的端口才可访问
  • rest :rest风格拦截器,自动根据请求方法构建权限字符串,满足权限匹配才可以访问
  • authc :认证过滤器,必须认证后才可访问
  • perms :权限过滤器,必须有指定权限才可访问
  • roles :角色过滤器,必须有指定角色才可访问
  • logout :登出过滤器,执行后直接跳转到设置的登录url
  • authcBasic :httpBasic 身份验证拦截器
  • noSessionCreation :不创建session过滤器,指定路径下无法创建session
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值