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函数计算地表两点间距离

    DELIMITER $$ CREATE FUNCTION `test`.`getDistance`(LatBegin FLOAT(10,4), LngBegin FLOAT(10,4), LatEnd ...

  2. Struts2 Annotation 注解配置

    也叫Zero Configuration(零配置),它省去了写xml文件的麻烦,可以直接在类叫进行配置,不用在java文件和xml文件中来回切换. 必须导入struts2-convention-plu ...

  3. Wix安装包权限问题

    Wix在安装完成之后,如果遇到非管理员用户(域用户或Win7+系统,UAC权限问题等),修改配置文件(setting.ini)文件时,会遇到文件权限为只读,无法修改问题: 解决方案有两种: 首先添加U ...

  4. 配置FileZilla Ftp服务器

    FileZilla是我比较喜欢用的一款FTP服务端和客户端,主要使用在Windows下,她是一款开源的FTP软件,虽然在某些功能上比不上收费软件Ser-u,但她也是一款非常好用的软件,这里主要说一下这 ...

  5. 创建一个spring helloworld

    1.下载所需要的jar包 http://projects.spring.io/spring-framework/ 这里使用了maven方式给出jar <dependencies> < ...

  6. JDBC中的PreparedStatement-防止SQL注入攻击

    在JDBC对数据库进行操作的时候,SQL注入是一种常见的针对数据库的注入攻击方式.如下面的代码所演示,在我们的提交字段中掺入了SQL语句,会使得程序的登录校验失效: package org.lyk.m ...

  7. 一机运行多个resin的配置

    对于java应用服务器,常用的一般为tomcat.jboss.resin. 一. 概述 经常会有这种情况: 1.一台服务器上,跑多个java应用 2.网站负载高,需要采用负载均衡(轮询)的方式来解决 ...

  8. java利用过滤器实现编码的转换,内容输出的替换

    在页面建个表单 <form action="login.do" method="post"> <input type="text&q ...

  9. Mingyang.net:Controller必需是public吗?

    通常定义Controller时一般都定义成public: package net.mingyang.modules.system; @Controller @RequestMapping(" ...

  10. Arch tty终端使用中文,Fbterm控制台配置

    参考: http://www.linuxidc.com/Linux/2011-08/40746p2.htm 安装: # pacman -S fbterm fcitx-fbterm # sudo gpa ...