Shiro
张三李四dw
这个作者很懒,什么都没留下…
展开
-
Shiro (六)多Realm验证
在com.dw.shiro.realms下创建SecondRealm验证方式改为SHA1验证1. SecondRealm代码如下:public class SecondRealm extends AuthenticatingRealm{ @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { System原创 2020-10-08 23:00:49 · 173 阅读 · 0 评论 -
Shiro (五) shiro MD5盐值加密
MD5加密可以把密码变成一个字符串,增加密码的隐秘性。但是还有一个问题,就是如果两个密码一样,那么加密出来的字符串也一样。如果想密码一样,加密出来的字符串不一样,可以在MD5加密的基础上,加上盐值。步骤: //6.根据用户情况构建AuthenticationInfo对象并返回 ,通常实现类为SimpleAuthenticationInfo //以下信息是从数据库获取的 /* * principal:认证的实体信息,可以是username,也可以是实体类对象 * credential原创 2020-10-08 21:47:43 · 131 阅读 · 0 评论 -
Shiro (四) shiro的密码加密-MD5
从数据库中获取的密码不应该是“123456”这种明文,应该是加密过的字符串,这样可以提高安全性。可以用MD5算法实现加密,需要替换当前Realm的credentitalsMatcher属性。直接使用HashedCredentitalsMatcher对象,并设置加密算计即可.步骤:1. 在applicationContext.xml中找到,id=jdbcRealm,并改为如下:这样前台输入的密码就会被加密,但是从数据库查出来的密码还是”123456”,所以要把数据库查出来的密码加密.(注意:工作中这一步原创 2020-10-08 21:30:40 · 253 阅读 · 0 评论 -
Shiro (三)shiro实现认证
在ShiroRealm类下代码public class ShiroRealm extends AuthenticatingRealm{ @Override protected AuthenticationInfo doGetAuthenticationInfo( AuthenticationToken token) throws AuthenticationException { //1.把AuthenticationToken转换为UsernamePasswordToken User原创 2020-10-08 21:12:42 · 94 阅读 · 1 评论 -
Shiro (二) shiro认证流程
一、获取当前的subject,调用securityUtils.getSubject()方法二、测试当前用户是否已经被认证,调用subject的isAuthenticated()三、若没有被认证,则把用户名和密码封装成UsernamePasswordToken对象创建一个表单页面把请求提交到speingMVC的Handler获取用户名和密码执行登录:调用subject的login()方法自定义Realm的方法,从数据库中获取对应的记录,返回给Shiro 自定义Realm需要继承Authent原创 2020-10-08 20:32:38 · 160 阅读 · 0 评论 -
Shiro (一)之集成Spring举例说明
集成步骤:创建动态web,也可直接创建maven项目(本章采用动态web举例说明,都一样)1.创建web,添加jar包这里是把用到的jar包都添加上了2. web.xml中的配置<!-- needed for ContextLoaderListener --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpat原创 2020-10-08 20:05:57 · 107 阅读 · 1 评论