360SDN.COM

首页/Java/列表

spring整合之采用shiro实现登录认证与权限授权管理

来源:java版web项目  2017-09-11 12:15:12    评论:0点击:

请点击上面  免费订阅本账号!

本公众号主要推送java技术、web(html/js/ui)技术、数据库技术、web项目开发经验、IT生活、IT热点,让有经验的人知识面更广、技术更扎实、工资更高,让0基础的人秒变大牛,让你的生活更积极,更有乐趣。点击上方的蓝字,这样您每天可以看到更多的java知识和资讯!完全是免费订阅,请放心关注。

Shiro Shiro 是一个 Apache 下的一开源项目项目,旨在简化身份验证和授权。

本文中记录的是一次使用shiro实现登录认证与权限授权的过程。

本文中主要用的技术有:

spring,springMVC,maven,shiro

shiro的配置,通过maven加入shiro相关jar包

2 在web.xml中添加shiro过滤器

3 spring中对shiro配置

在上面的配置中每次开启了sessionManager都会出问题在这里将它注释掉了。

其次,上面中的配置也是将credentialsMatcher没有加入了,这种方式适用于没有对密码进行处理的情况。

其中CustomRealm的配置是重点。

4 自定义Realm编码

CustomRealm如下:

5 缓存配置

ehcache.xml代码如下:

通过使用ehache中就避免第次都向服务器发送权限授权(doGetAuthorizationInfo)的请求。

6.自定义表单编码过滤器

CustomFormAuthenticationFilter代码,认证之前调用,可用于验证码校验

在此符上验证码jsp界面的代码

validatecode.jsp

7.登录控制器方法


8.用户回显Controller

当用户登录认证成功后,CustomRealm在调用完doGetAuthenticationInfo时,通过

SimpleAuthenticationInfo构造参数的第一个参数传入一个用户的对象,之后,可通过Subject subject = SecurityUtils.getSubject();中的subject.getPrincipal()获取到此对象。

所以需要回显用户信息时,我这样调用的

9.在jsp页面中控制权限

先引入shiro的头文件

采用shiro标签对权限进行处理

10.在Controller控制权限

通过@RequiresPermissions注解,指定执行此controller中某个请求方法需要的权限

11.MD5加密加盐处理

这里以修改密码为例,通过获取新的密码(明文)后通过MD5加密+加盐+6次加密为例

ok!编码完成后对此WEB程序跑一下,截图符几张:

当前用户信息和权限信息表截图如下

系统管理员表:


权限表:


管理员权限关系中间表:




  java资源分享总群(六) :238600498       java招聘信息共享群:489895481

点击最下角阅读全文查看程序员看别人的代码是怎样一种心理体验?"


有人用微信聊天,有人却在微信中学习,成长。下面是2017最HOT IT公众号,赶快试试新的关注方法吧

  

关注方式

★长按二维码,选择“识别图中二维码”进行关注。


  没看够?更多好文在阅读原文

阅读原文

为您推荐

友情链接 |九搜汽车网 |手机ok生活信息网|ok生活信息网|ok微生活
 Powered by www.360SDN.COM   京ICP备11022651号-4 © 2012-2016 版权