30分钟学会如何使用Shiro,软件精灵-用户登录录

将验证策略和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中不生效

 
 
 


 

我要回帖

更多关于 用户登录 的文章

 

随机推荐