zoukankan      html  css  js  c++  java
  • Apache Shiro学习----授权

    Shiro支持三种方式的授权:

    1.编程式:通过写if/else授权代码块完成: 

    Subject subject = SecurityUtils.getSubject();  
    if(subject.hasRole(“admin”)) {  
        //有权限  
    } else {  
        //无权限  
    } 

    2.注解式:通过在执行的Java方法上放置相应的注解完成: 

    @RequiresRoles("admin")  
    public void hello() {  
        //有权限  
    }  

    3.JSP/GSP标签:在JSP/GSP页面通过相应的标签完成: 

    <shiro:hasRole name="admin">  
    <!— 有权限 —>  
    </shiro:hasRole>  

    这里我们重点讲下第三种方式---jsp标签

    1.了解一些标签的定义

     <shiro:guest>欢迎游客访问,<a href="${pageContext.request.contextPath}/login.jsp">登录</a>  </shiro:guest>  用户没有身份验证时显示相应信息,即游客访问信息。

     <shiro:principal type="java.lang.String"  property="username"/>  显示用户身份信息

     <shiro:user>欢迎[<shiro:principal/>]登录,<a href="${pageContext.request.contextPath}/logout">退出</a>  </shiro:user>  用户已经身份验证/记住我登录后显示相应的信息。

    <shiro:hasRole name="admin">     用户拥有角色admin </shiro:hasRole>   

    <shiro:hasAnyRoles name="admin,user">    用户拥有角色admin或user  </shiro:hasAnyRoles>   

    <shiro:lacksRole name="abc">    用户没有角色abc </shiro:lacksRole>  

    <shiro:hasPermission name="user:create">    用户拥有权限user:create </shiro:hasPermission> 

    <shiro:lacksPermission name="org:create">      用户没有权限org:create  </shiro:lacksPermission>  

    2.想使用Shiro标签首先引用标签库<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>

  • 相关阅读:
    css3 jQuery实现3d搜索框+为空推断
    simple_pool对象池——优化&lt;二&gt;
    微信支付v3开发(6) 收货地址共享接口
    一个简单的数据增量更新策略(Android / MongoDB / Django)
    cocos2dx 3.0rc怎样创建项目
    NYOJ 613 免费馅饼
    NLP系列(5)_从朴素贝叶斯到N-gram语言模型
    Swift开发图解入门
    java网络编程
    java多线程机制
  • 原文地址:https://www.cnblogs.com/mcahkf/p/7238407.html
Copyright © 2011-2022 走看看