将验证策略和Reaml分开来管理,也僦是下面多重认证的第二种方式
下面这段代码中,我配置了两个Reamls第一个使用的是MD5码表,第二個是 SHA1的加密验证的策略是两个都必须满足才可以让你登录
建议这一种策略,因为这种将授权策略和资源Realm分开了
下面这两个验证器没啥太大差别就是加盐和 加密方式不一样,在实际项目中可能设置多个密钥,进行多重验证
将Session统一存放到Mysql数据库中进行管理操作这样我们就可以通过向操作数据库一样,对session进行操作和处理了实现Session存储到数据库的大致步骤是,1、创建Session表;2、创建操作Session表的Mapper,3、创建继承EnterpriseCacheSessionDAO
数据表设计中我们可以自己在我的基础上,进行字段的扩展
SessionDao需要继承EnterpriseCacheSessionDAO 实現里面的抽象方法,同时自己还添加了一个根据用户名来获取Session对象的方法。这个里面直接操作Session存储到数据库
对于插入用户名,需要在update sessiond嘚地方做处理不然获取不到用户名
* 机能概要:通过名称来获取用户 Session序列和反序列Session对象,只有将session对象序列化成字符串才可以存储到Mysql上,不能直接存
* 机能概要:将一个Session的字符串序列化成字符串,反序列化
其中还有一部分是关于Shiro生命周期的存储在了Spring-mvc中,因为生命周期配置在spring-shiro.xml中不生效
将Session统一存放到Mysql数据库中进行管理操作这样我们就可以通过向操作数据库一样,对session进行操作和处理了实现Session存储到数据库的大致步骤是,1、创建Session表;2、创建操作Session表的Mapper,3、创建继承EnterpriseCacheSessionDAO
数据表设计中我们可以自己在我的基础上,进行字段的扩展
SessionDao需要继承EnterpriseCacheSessionDAO 实現里面的抽象方法,同时自己还添加了一个根据用户名来获取Session对象的方法。这个里面直接操作Session存储到数据库
对于插入用户名,需要在update sessiond嘚地方做处理不然获取不到用户名
* 机能概要:通过名称来获取用户 Session序列和反序列Session对象,只有将session对象序列化成字符串才可以存储到Mysql上,不能直接存
* 机能概要:将一个Session的字符串序列化成字符串,反序列化
其中还有一部分是关于Shiro生命周期的存储在了Spring-mvc中,因为生命周期配置在spring-shiro.xml中不生效