• 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)

  • 相关阅读:
    使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
    算法7-4:宽度优先搜索
    R语言字符串函数
    notepad++ 正则表达式
    MySQL常用命令
    linux下对符合条件的文件大小做汇总统计的简单命令
    Linux系统下统计目录及其子目录文件个数
    R: count number of distinct values in a vector
    ggplot2 demo
    R programming, In ks.test(x, y) : p-value will be approximate in the presence of ties
  • 原文地址:https://www.cnblogs.com/sshoub/p/6121738.html
Copyright © 2020-2023  润新知