springmvc整合shiro权限控制的实例教程

上传人:m**** 文档编号:46129543 上传时间:2018-06-22 格式:DOCX 页数:15 大小:24.80KB
返回 下载 相关 举报
springmvc整合shiro权限控制的实例教程_第1页
第1页 / 共15页
springmvc整合shiro权限控制的实例教程_第2页
第2页 / 共15页
springmvc整合shiro权限控制的实例教程_第3页
第3页 / 共15页
springmvc整合shiro权限控制的实例教程_第4页
第4页 / 共15页
springmvc整合shiro权限控制的实例教程_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《springmvc整合shiro权限控制的实例教程》由会员分享,可在线阅读,更多相关《springmvc整合shiro权限控制的实例教程(15页珍藏版)》请在金锄头文库上搜索。

1、springmvcspringmvc 整合整合 shiroshiro 权限控制的实例教程权限控制的实例教程一、什么是 Shiro Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户“登录”;授权 - 访问控制;密码加密 - 保护或隐藏数据防止被偷窥;会话管理 - 每用户相关的时间敏感的状态。对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro 要简单的多。二:springmvc 整合 shiro1,在 web.xml 中加入如下配置 html view pl

2、ain copyshiroFilter org.springframework.web.filter.DelegatingFilterProxy true targetFilterLifecycle true shiroFilter /* REQUEST 2,配置 applicationContext.xmlhtml view plain copy/*/*.js=anon /*/*.img=anon /*/*.css=anon /*/*.png=anon /*/*.gif=anon /*/*.jpg=anon /static/*=anon /admin/logout.do = logout

3、/admin/login.do = authc /authenticated = authc /* = authc,user,sysUser securityManager:这个属性是必须的。loginUrl:没有登录的用户请求需要登录的页面时自动跳转到登录页面,不是必须的属性,不输入地址的话会自动寻找项目 web 项目的根目录下的”/login.jsp”页面。successUrl:登录成功默认跳转页面,不配置则跳转至”/”。如果登陆前点击的一个需要登录的页面,则在登录自动跳转到那个需要登录的页面。不跳转到此。unauthorizedUrl:没有权限默认跳转的页面。3,自定义的 Realm 类

4、java view plain copyimport java.util.HashSet; import java.util.Set; import javax.annotation.Resource; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationInfo; import org.apache.shiro.authc.AuthenticationToken; import org.apache.shiro.authc.LockedAccoun

5、tException; import org.apache.shiro.authc.SimpleAuthenticationInfo; import org.apache.shiro.authc.UnknownAccountException; import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.authz.SimpleAuthorizationInfo; import org.apache.shiro.realm.AuthorizingRealm; import org.apache.shiro.s

6、ubject.PrincipalCollection; import org.apache.shiro.util.ByteSource; public class UserRealm extends AuthorizingRealm Resource private UserService userService; /这是授权方法 Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) String username = (String)principals.getP

7、rimaryPrincipal(); SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); Set permissionsSet = null; Set permissionsSetStr = new HashSet(); try authorizationInfo.setRoles(userService.findRoles(username); permissionsSet = userService.findPermissions(username); for(String perStr:pe

8、rmissionsSet) if(perStr.indexOf(“*“) roleList = userService.add(); mav.addObject(“roleList“, roleList); return mav; 5,jsp 处控制/引入标签javascript view plain copy 添加 返回 6.默认,添加或删除用户的角色 或资源 ,系统不需要重启,但是需要用户重新登录。即用户的授权是首次登录后第一次访问需要权限页面时进行加载。但是需要进行控制的权限资源,是在启动时就进行加载,如果要新增一个权限资源需要重启系统。7.Springsecurity 与 apache

9、 shiro 差别:a)shiro 配置更加容易理解,容易上手;security 配置相对比较难懂。b)在 spring 的环境下,security 整合性更好。Shiro 对很多其他的框架兼容性更好,号称是无缝集成。c)shiro 不仅仅可以使用在 web 中,它可以工作在任何应用环境中。d)在集群会话时 Shiro 最重要的一个好处或许就是它的会话是独立于容器的。e)Shiro 提供的密码加密使用起来非常方便。8.控制精度:注解方式控制权限只能是在方法上控制,无法控制类级别访问。过滤器方式控制是根据访问的 URL 进行控制。允许使用*匹配 URL,所以可以进行粗粒度,也可以进行细粒度控制。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > PHP资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号