Shiro权限框架学习中:

shiro在web中的应用
在web.xml配置shiroFilte
spring配置文件:

  1. 数据源
  2. 配置 securityManager 三个属性①cacheManager缓存管理器②sessionMode sessiom的管理方式③配置realm
  3. 然后配置直接配置实现了 org.apache.shiro.realm.Realm 接口的 bean
  4. .配置 CacheManager.
  5. 配置 LifecycleBeanPostProcessor 可以自定的来调用配置在 Spring IOC 容器中 shiro bean 的生命周期方法
  6. 启用 IOC 容器中使用 shiro 的注解. 但必须在配置了 LifecycleBeanPostProcessor 之后才可以使用
  7. 配置 ShiroFilter .
    配置哪些页面需要受保护.
    以及访问这些页面需要的权限.
    1). anon 可以被匿名访问
    2). authc 必须认证(即登录)后才可能访问的页面.
    3). logout 登出.
    4). roles 角色过滤器

Shiro的认证

-

  1. 获取当前的 Subject. 调用 SecurityUtils.getSubject();
  2. 测试当前的用户是否已经被认证即是否已经登录调用 Subject 的 isAuthenticated()
  3. 若没有被认证,则把用户名和密码封装为 UsernamePasswordToken 对象
  4. 执行登录: 调用 Subject 的 login(AuthenticationToken) 方法.
  5. 自定义 Realm 的方法, 从数据库中获取对应的记录, 返回给 Shiro.
    2). 实现 doGetAuthenticationInfo(AuthenticationToken) 方法.
    6由 shiro 完成对密码的比对.

思路:shiro的Subject接收传递到Handler的用户登录信息,判断认证状态,未认证则把信息传到自定义realms(自定义realms 从数据库获取用户对应信息),然后盐值加密 返回一个AuthenticationInfo 给shiro判断是否正确!
学习中,目前只是看了点视频,看了shiro源码里面的快速使用,继续学习

猜你喜欢

转载自blog.csdn.net/qq_36664325/article/details/82155427