zoukankan      html  css  js  c++  java
  • Shiro使用总结

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

    权限管理,需要在界面中加一些标签,后台角色、资源的管理也需要整理好,然后在前端添加管理。
    1、后端使用示例如下:
    Subject currentUser = SecurityUtils.getSubject(); if(currentUser.isPermitted("user")){ }
    2、前端使用示例如下:
    `

    if($shiro.hasRole("admin"))

      管理员 #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、界面上设置
    `

    #if($shiro.hasPermission("project_Add")) #end #if($shiro.hasPermission("project_Setting")) #end #if($shiro.hasPermission("project_WorkOrder")) #end
    ` 2、后台设置 ![](http://images2015.cnblogs.com/blog/200693/201612/200693-20161201143057443-1278072069.jpg)

    资源的Code和权限相同,然后把资源分配给角色即可;
    有需要添加的资源,数据添加好后,发一份给我,或者自行写到初始化脚本中(initData.txt)

  • 相关阅读:
    LintCode2016年8月22日算法比赛----骰子求和
    LintCode2016年8月22日算法比赛----平面列表
    LintCode2016年8月22日算法比赛----将数组重新排序以构造最小值
    LintCode2016年8月22日算法比赛----克隆二叉树
    Leetcode算法比赛----Longest Absolute File Path
    Leetcode算法比赛----First Unique Character in a String
    vue运行报错Error: listen EADDRNOTAVAIL 192.168.1.105:8080
    vue使用lrz插件压缩图片
    <input type="file">原型难看
    vue创建全局变量以及全局方法
  • 原文地址:https://www.cnblogs.com/sshoub/p/6121738.html
Copyright © 2011-2022 走看看