Shiro已经添加到项目中,现阶段管理两个功能:
1、身份验证;(已经能够满足现阶段需求)
2、权限管理;

权限管理,需要在界面中加一些标签,后台角色、资源的管理也需要整理好,然后在前端添加管理。
1、后端使用示例如下:
Subject currentUser = SecurityUtils.getSubject(); if(currentUser.isPermitted("user")){ }
2、前端使用示例如下:
#if($shiro.hasRole("admin")) <a href="#"> &nbsp; <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使用总结的更多相关文章

  1. shiro权限管理框架与springmvc整合

    shiro是apache下的一个项目,和spring security类似,用于用户权限的管理‘ 但从易用性和学习成本上考虑,shiro更具优势,同时shiro支持和很多接口集成 用户及权限管理是众多 ...

  2. springmvc 多数据源 SSM java redis shiro ehcache 头像裁剪

    获取下载地址   QQ 313596790  A 调用摄像头拍照,自定义裁剪编辑头像 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单;  技术:31359679 ...

  3. java springMVC SSM 操作日志 4级别联动 文件管理 头像编辑 shiro redis

    A 调用摄像头拍照,自定义裁剪编辑头像 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单;  技术:313596790freemaker模版技术 ,0个代码不用写 ...

  4. springmvc SSM shiro redis 后台框架 多数据源 代码生成器

    A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单 下载地址    ; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类 ...

  5. springmvc SSM 多数据源 shiro redis 后台框架 整合

    A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单 下载地址    ; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类 ...

  6. SpringMVC+Shiro权限管理【转】

    1.权限的简单描述 2.实例表结构及内容及POJO 3.Shiro-pom.xml 4.Shiro-web.xml 5.Shiro-MyShiro-权限认证,登录认证层 6.Shiro-applica ...

  7. shiro的使用2 灵活使用shiro的密码服务模块

    shiro最闪亮的四大特征是认证,授权,加密,会话管理. 上一篇已经演示了如何使用shiro的授权模块,有了shiro这个利器,可以以统一的编码方式对用户的登入,登出,认证进行管理,相当的优雅. 为了 ...

  8. shiro的使用1 简单的认证

    最近在重构,有空学了一个简单的安全框架shiro,资料比较少,在百度和google上能搜到的中文我看过了,剩下的时间有空会研究下官网的文章和查看下源码, 简单的分享一些学习过程: 1,简单的一些概念上 ...

  9. shiro实现session共享

    session共享:在多应用系统中,如果使用了负载均衡,用户的请求会被分发到不同的应用中,A应用中的session数据在B应用中是获取不到的,就会带来共享的问题. 假设:用户第一次访问,连接的A服务器 ...

  10. shiro在springmvc里面的集成使用【转】

    <dependency> <groupId>commons-collections</groupId> <artifactId>commons-coll ...

随机推荐

  1. 保存恢复临时信-Android 中使用onSaveInstanceState和onRestoreInstanceState

    在Activity中,有两个方法用于临时保存.恢复状态信息,这两个方法是: public void onSaveInstanceState(Bundle savedInstanceState); pu ...

  2. JAVA 创建类,使用类

    一.创建类: Test.java //定义类 public class Test{ //属性 String name; String gender; int age; //方法,无参无返回 publi ...

  3. 使用phpstuby时,Apache或mysql无法启动,端口被占用

    使用phpstuby时,Apache或mysql无法启动,端口被占用,怎么办? 原因: 其它程序占用了80或3306端口. 如果占用了80端口则Apache无法启动: 如果占用了3306端口则mysq ...

  4. rpm 与压缩解压缩

    rpm包redhat package manager 逐渐地被linux发行版本使用的安装包 rpm -qa 查询所有linux中安装了那些rpm包 rpm -q mysql 查看mysql 包的信息 ...

  5. Yii 框架中带有区间的搜索

  6. R中根据匹配原则将一列拆分为几列的方法

    例如我们需要将一下数据的第二列从and处拆分为两列: before = data.frame(attr = c(1,30,4,6), type=c('foo_and_bar','foo_and_bar ...

  7. ubuntu 安装compiz后 黑屏无法进入处理

    因为我们显卡的原因而出现不兼容,设置之后会出现菜单栏消失.窗口假死等现象,请保持平静心态,默默重启,如果发现进不去桌面了,可以试试Ctrl+Alt+F1进入字符界面,输入以下命令: dconf res ...

  8. iOS推送通知的实现步骤

    一.关于推送通知 来源:http://blog.csdn.net/enuola/article/details/8627283 推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能.是当程序 ...

  9. KVC , KVO , KVB

    来源:http://www.cnblogs.com/jay-dong/archive/2012/12/13/2815778.html 熟悉oc语法的同学也许都会懂得这么一点:在oc中,类的成员变量或是 ...

  10. Informix 中执行多条SQL(Execute Script)

    有的时候我们需要在ADO.NET中同时执行多条的SQL语法,我们要如何处理, 例如下: //查詢基本資料 private static void TestQry() { DataTable dtRet ...