关于shiro技术的总结
关于shiro登录安全技术的总结
Shiro中的登录与传统登录不同的流程为:
shiro登录方式(1)在realm中提供的info和token的含义:
Token是取出登录界面用户输入的密码和用户名
Info是从数据库中取出的用户名和密码
(2)在realm域中有认证和授权两个模块,shiro对外界提供subject接口对shiro框架进行调用,如果进行数据的校验比对正确的话会进行success.jsp的页面的跳转,如果需要授权的话进入realm中进行授权的操作
认证:进行页面密码和用户名与数据库中数据进行比对
授权:确认该用户是否具有该模块的权限
(并不是subject对与realm域的调用而是subject交给securityManager进行认证和授权方法的调用)
(3)shiro框架的核心是securityManager安全管理器,他管理者所有的subject,而subject可以当做是一个门面,与subject所有的交互其实最终还是有securityManager来完成
(4)在web.xml进行配置过滤器的时候一定放在struts2过滤器的前面,Apache公司提供了10个过滤器供大家选择,但是配置时为了简化操作,Apache公司只需我们在web.xml配置一个过滤器(过滤器链)即可,这个过滤器会包括上述十个过滤器.具体配置为(spring提供)
shiro核心过滤器配置(5)在集成ssh框架时候,如果hibernate的版本超过4.X的时候即使在web.xml里面配置
openSessionInviewFilter懒加载的时候还是会出现报错问题,需要在hibernate.cfg.xml文件中进行另一项配置才能解决这一问题:
在hibernate.cfg.xml中的配置(6)关于shiro底层自动集成缓存技术的配置文件详细解释:
缓存解释(7)想要在项目中正确运行该项技术需要进行如下配置(默认是ssh版本)
需要引入:application-shiro.xml文件
ehcache-shiro.xml文件
在web层进行密码比较器和realm域的创建
(8)如何在认证方法(代码)
认证方法(9)授权方法的创建:
认证方法
(10)自定义密码比较器的创建
密码比较器(11)对与shiromd5加密工具类的自定义:
工具类使用Apache公司提供的方法Md5hash为apache公司提供对与md5加密的升级