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. mysql随机更新时间

    UPDATE data_arch_point SET click_time = DATE_ADD('2016-06-15 00:00:00', INTERVAL )) SECOND) WHERE DA ...

  2. JAVA 图形界面 JFrame容器

    一.图像化界面必须引入包 //引入图形化界面包 import java.awt.*; import javax.swing.*; 二.源代码 //窗口 import java.awt.*; impor ...

  3. Android NDK 构建 以及一些错误

    首先下载NDK 然后在最外层的 local.properties文件夹中 写上  ndk的路径 ndk.dir=/Users/wyj/Desktop/androidStudioSdk/android- ...

  4. Struts中<s:checkboxlist>的用法

    一.JSP中 ①集合为list <s:checkboxlist name="list" list="{'Java','.Net','RoR','PHP'}" ...

  5. Liferay 6开发学习(二十六):数据库连接相关问题

    Liferay中怎么更换数据库? 常碰到有人问Liferay怎么更换数据库,怎么修改数据库连接.在我们第一次启动Liferay的时候,会有一个配置向导,在此配置向导我们可以选择数据库,并配置数据库连接 ...

  6. [Flex] ButtonBar系列——皮肤和外观设置

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  7. T4 assembly

    In a T4 template the executing assembly is not yours but one from the T4 engine. To access types fro ...

  8. NSArray、NSMutableArray基本用法

    NSArray.NSMutableArray基本用法 一.基本操作 初始化方法:1.init返回一个空数组 2.initWithArray从已有数组初始化 3.initWithContentsOfFi ...

  9. IOS键盘的相关设置(UITextfield)

    一.键盘风格 UIKit框架支持8种风格键盘. typedef enum { UIKeyboardTypeDefault,                // 默认键盘:支持所有字符 UIKeyboa ...

  10. UITextField详解

    UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];  //初始化textfield并 ...