Springmvc集成Shiro实现权限管理
源代码下载:http://download.csdn.net/detail/u013147600/9062175
Shiro是一个安全框架,他可以集成其他开发开发框架 如:Springmvc,实现用户身份认证、权限管理等等功能,
shiro详细的介绍也就不讲了,这里
给出一些关键的知识点吧:
知识点:
shiro中默认的过滤器
过滤器名称 过滤器类 描述 anon org.apache.shiro.web.filter.authc.AnonymousFilter 匿名过滤器 authc org.apache.shiro.web.filter.authc.FormAuthenticationFilter 如果继续操作,需要做对应的表单验证否则不能通过 authcBasic org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter 基本http验证过滤,如果不通过,跳转屋登录页面 logout org.apache.shiro.web.filter.authc.LogoutFilter 登录退出过滤器 noSessionCreation org.apache.shiro.web.filter.session.NoSessionCreationFilter 没有session创建过滤器 perms org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter 权限过滤器 port org.apache.shiro.web.filter.authz.PortFilter 端口过滤器,可以设置是否是指定端口如果不是跳转到登录页面 rest org.apache.shiro.web.filter.authz.HttpMethodPermissionFilter http方法过滤器,可以指定如post不能进行访问等 roles org.apache.shiro.web.filter.authz.RolesAuthorizationFilter 角色过滤器,判断当前用户是否指定角色 ssl org.apache.shiro.web.filter.authz.SslFilter 请求需要通过ssl,如果不是跳转回登录页 user org.apache.shiro.web.filter.authc.UserFilter 如果访问一个已知用户,比如记住我功能,走这个过滤器 <!-- 访问 /member/queryMyUserInfo路径需要进行身份认证,并且只有当用户的角色为"member"且权限为"member:delete"时才可以访问该路径-->
/member/queryMyUserInfo=authc,roles[member],perms[member:delete]
Shiro相应的jsp标签:
jsp页面中导入:<%@ taglib prefix= "shiro" uri= "http://shiro.apache.org/tags" %>
- guest标签 验证当前用户是否为“访客”,即未认证(包含未记住)的用户
- user标签 认证通过或已记住的用户
- authenticated标签 已认证通过的用户。不包含已记住的用户,这是与user标签的区别所在。
- notAuthenticated标签 未认证通过用户,与authenticated标签相对应。与guest标签的区别是,该标签包含已记住用户。
- principal 标签 输出当前用户信息,通常为登录帐号信息