Shiro使用总结
Shiro已经添加到项目中,现阶段管理两个功能:
1、身份验证;(已经能够满足现阶段需求)
2、权限管理;
权限管理,需要在界面中加一些标签,后台角色、资源的管理也需要整理好,然后在前端添加管理。
1、后端使用示例如下:
Subject currentUser = SecurityUtils.getSubject();     if(currentUser.isPermitted("user")){     }
2、前端使用示例如下:
#if($shiro.hasRole("admin"))   <a href="#">           <span>管理员</span>   </a> #end
3、前端功能API
一、$shiro.isAuthenticated()
功能说明:验证是否为已认证通过的用户,不包含已记住的用户,这是与 isUser 标签方法的区别所在。
参数:无
返回值:Boolean
二、$shiro.isNotAuthenticated()
功能说明:验证是否为未认证通过用户,与 isAuthenticated 标签相对应,与 isGuest 标签的区别是,该标签包含已记住用户。
参数:无
返回值:Boolean
三、$shiro.isGuest()
功能说明:验证当前用户是否为“访客”,即未认证(包含未记住)的用户。
参数:无
返回值:Boolean
四、$shiro.isUser()
功能说明:验证当前用户是否认证通过或已记住的用户。
参数:无
返回值:Boolean
五、$shiro.getPrincipal()
功能说明:获取当前用户 Principal。
参数:无
返回值:Object
六、$shiro.getPrincipalProperty(String property)
功能说明:获取当前用户 Principal。
参数:String property 用户属性
返回值:Object
七、$shiro.hasRole(String role)
功能说明:验证当前用户是否属于该角色 。
参数:String role 角色名称
返回值:Boolean
八、$shiro.lacksRole(String role)
功能说明:验证当前用户是否不属于该角色,与 hasRole 标签逻辑相反。
参数:String role 角色名称
返回值:Boolean
九、$shiro.hasAnyRoles(String roleNames, String delimeter)
功能说明:验证当前用户是否属于以下任意一个角色。
参数:String roleNames 用户角色列表,以 delimeter 分割
String delimeter 用户角色分隔符
返回值:Boolean
十、$shiro.hasAnyRoles(String roleNames)
功能说明:验证当前用户是否属于以下任意一个角色。
参数:String roleNames 用户角色列表,以 “," 分割
返回值:Boolean
十一、$shiro.hasAnyRoles(Collection roleNames)
功能说明:验证当前用户是否属于以下任意一个角色。
参数:Collection roleNames 用户权限角色
返回值:Boolean
十二、$shiro.hasAnyRoles(String[] roleNames)
功能说明:验证当前用户是否属于以下任意一个角色。
参数:String[] roleNames 用户权限角色
返回值:Boolean
十三、$shiro.hasPermission(String permission)
功能说明:验证当前用户是否拥有指定权限
参数:String permission 权限名称
返回值:Boolean
十四、$shiro.lacksPermission(String permission)
功能说明:验证当前用户是否不拥有指定权限,与 hasPermission 逻辑相反。
参数:String permission 权限名称
返回值:Boolean
十五、$shiro.hasAnyPermissions(String permissions, String delimeter)
功能说明:验证当前用户是否拥有以下任意一个权限。
参数:String permissions 权限名称列表,以 delimeter 分割
String delimeter 用户权限分隔符
返回值:Boolean
十六、$shiro.hasAnyPermissions(String permissions)
功能说明:验证当前用户是否拥有以下任意一个权限。
参数:String permissions 权限名称列表,以 “," 分割
返回值:Boolean
十七、$shiro.hasAnyPermissions(Collection permissions)
功能说明:验证当前用户是否拥有以下任意一个权限。
参数:Collection 权限名称列表
返回值:Boolean
十八、$shiro.hasAnyPermissions(String[] permissions)
功能说明:验证当前用户是否拥有以下任意一个权限。
参数:String[] 权限名称列表
返回值:Boolean
时间: 2016年1月25日 (周一) 15:45
项目权限管理,已经添加到系统中(权限缓存的保存位置待优化)
使用方法:
1、界面上设置
<div class="list-opt">   <div class="nk-button-group">     #if($shiro.hasPermission("project_Add"))       <button v-on:click="addProject" class="nk-button">新增</button>     #end     #if($shiro.hasPermission("project_Setting"))       <button v-on:click="settingProject" class="nk-button">项目设置</button>     #end     #if($shiro.hasPermission("project_WorkOrder"))       <button v-on:click="woMgr" class="nk-button">工单管理</button>     #end   </div>
2、后台设置

资源的Code和权限相同,然后把资源分配给角色即可;
有需要添加的资源,数据添加好后,发一份给我,或者自行写到初始化脚本中(initData.txt)
Shiro使用总结的更多相关文章
- shiro权限管理框架与springmvc整合
		
shiro是apache下的一个项目,和spring security类似,用于用户权限的管理‘ 但从易用性和学习成本上考虑,shiro更具优势,同时shiro支持和很多接口集成 用户及权限管理是众多 ...
 - springmvc 多数据源 SSM java redis shiro ehcache 头像裁剪
		
获取下载地址 QQ 313596790 A 调用摄像头拍照,自定义裁剪编辑头像 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单; 技术:31359679 ...
 - java springMVC SSM 操作日志 4级别联动 文件管理 头像编辑 shiro redis
		
A 调用摄像头拍照,自定义裁剪编辑头像 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单; 技术:313596790freemaker模版技术 ,0个代码不用写 ...
 - springmvc SSM  shiro redis 后台框架 多数据源 代码生成器
		
A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单 下载地址 ; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类 ...
 - springmvc SSM 多数据源 shiro redis 后台框架 整合
		
A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单 下载地址 ; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类 ...
 - SpringMVC+Shiro权限管理【转】
		
1.权限的简单描述 2.实例表结构及内容及POJO 3.Shiro-pom.xml 4.Shiro-web.xml 5.Shiro-MyShiro-权限认证,登录认证层 6.Shiro-applica ...
 - shiro的使用2 灵活使用shiro的密码服务模块
		
shiro最闪亮的四大特征是认证,授权,加密,会话管理. 上一篇已经演示了如何使用shiro的授权模块,有了shiro这个利器,可以以统一的编码方式对用户的登入,登出,认证进行管理,相当的优雅. 为了 ...
 - shiro的使用1  简单的认证
		
最近在重构,有空学了一个简单的安全框架shiro,资料比较少,在百度和google上能搜到的中文我看过了,剩下的时间有空会研究下官网的文章和查看下源码, 简单的分享一些学习过程: 1,简单的一些概念上 ...
 - shiro实现session共享
		
session共享:在多应用系统中,如果使用了负载均衡,用户的请求会被分发到不同的应用中,A应用中的session数据在B应用中是获取不到的,就会带来共享的问题. 假设:用户第一次访问,连接的A服务器 ...
 - shiro在springmvc里面的集成使用【转】
		
<dependency> <groupId>commons-collections</groupId> <artifactId>commons-coll ...
 
随机推荐
- JAVA break终止循环,与continue进入下一次循环
			
一.break终止循环 在循环中,遇到break;将会跳出循环,继续往下执行代码 public class Test{ public static void main(String[] args){ ...
 - 树莓派安装3.5inch RPi LCD (A)显示屏
			
3.5inch RPi LCD (A) 资料 产品介绍 用户手册 开发资料 开发软件 树莓派镜像 演示视频 FAQ 在自定义Raspbian系统镜像上怎么使用树莓派LCD? 先确保自定义镜像可正常进入 ...
 - Python标准库08 多线程与同步 (threading包)
			
Python主要通过标准库中的threading包来实现多线程.在当今网络时代,每个服务器都会接收到大量的请求.服务器可以利用多线程的方式来处理这些请求,以提高对网络端口的读写效率.Python是一种 ...
 - 最大公约数Greatest Common Divisor(GCD)
			
一 暴力枚举法 原理:试图寻找一个合适的整数i,看看这个整数能否被两个整形参数numberA和numberB同时整除.这个整数i从2开始循环累加,一直累加到numberA和numberB中较小参数的一 ...
 - Bitbucket使用方法
			
一.软件及SSH keys: 由于我的Bitbucket账号的邮箱及用户名与Github相同,所以SSH Public Keys可以用Github的,登录Bitbucket,悬浮在用户名boliqua ...
 - [Flex] ButtonBar系列——控制ButtonBar菜单是否可用
			
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
 - poj 1018 Communication System
			
点击打开链接 Communication System Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 21007 Acc ...
 - Java内存区域分配基恩内存溢出异常
 - Hbase基础操作
			
$HBASE_HOME/bin/hbase org.apache.hadoop.hbase.mapreduce.RowCounter 'tablename'
 - ubuntu中VNC的安装配置笔记
			
使用服务器时,利用远程桌面是非常方便的,否则需要跑到服务器机房操作非常的费事,或者需要远程操作机器是也可以使用,一般的操作系统都会带有远程桌面功能,但是不如第三方的的软件好用,对于linux系统常用的 ...