-----------------标签-------------------------------html
<shiro:guest> 游客访问 <a href = "login.jsp"></a> </shiro:guest> user 标签:用户已经经过认证\记住我 登陆后显示响应的内容 <shiro:user> 欢迎[<shiro:principal/>]登陆 <a href = "logout">退出</a> </shiro:user> authenticated标签:用户身份验证经过,即 Subjec.login 登陆成功 不是记住我登陆的 <shiro:authenticted> 用户[<shiro:principal/>] 已身份验证经过 </shiro:authenticted> notAuthenticated标签:用户未进行身份验证,即没有调用Subject.login进行登陆,包括"记住我"也属于未进行身份验证 <shiro:notAuthenticated> 未身份验证(包括"记住我") </shiro:notAuthenticated> principal 标签:显示用户身份信息,默认调用 Subjec.getPrincipal()获取,即Primary Principal <shiro:principal property = "username"/> hasRole标签:若是当前Subject有角色将显示body体内的内容 <shiro:hashRole name = "admin"> 用户[<shiro:principal/>]拥有角色admin </shiro:hashRole> hasAnyRoles标签:若是Subject有任意一个角色(或的关系)将显示body体里的内容 <shiro:hasAnyRoles name = "admin,user"> 用户[<shiro:pricipal/>]拥有角色admin 或者 user </shiro:hasAnyRoles> lacksRole:若是当前 Subjec没有角色将显示body体内的内容 <shiro:lacksRole name = "admin"> 用户[<shiro:pricipal/>]没有角色admin </shiro:lacksRole> hashPermission:若是当前Subject有权限将显示body体内容 <shiro:hashPermission name = "user:create"> 用户[<shiro:pricipal/>] 拥有权限user:create </shiro:hashPermission> lacksPermission:若是当前Subject没有权限将显示body体内容 <shiro:lacksPermission name = "org:create"> 用户[<shiro:pricipal/>] 没有权限org:create </shiro:lacksPermission>
---------------权限注解------------------------java
@RequiresAuthenthentication:表示当前Subject已经经过login进行身份验证;即 Subjec.isAuthenticated()返回 true @RequiresUser:表示当前Subject已经身份验证或者经过记住我登陆的, @RequiresGuest:表示当前Subject没有身份验证或者经过记住我登陆过,便是游客身份 @RequiresRoles(value = {"admin","user"},logical = Logical.AND):表示当前Subject须要角色admin和user @RequiresPermissions(value = {"user:delete","user:b"},logical = Logical.OR):表示当前Subject须要权限user:delete或者user:b