Shiro

来源:互联网 发布:js代码整理 编辑:程序博客网 时间:2024/06/14 04:40

Shiro支持三种方式实现授权过程:

编码实现注解实现JSP Taglig实现

JSP Taglig实现 - Shiro在JSP页面使用标签的形式表现,首先引入shiro标签。

<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>

标签使用说明如下:

【1】<shiro:hasRole/>

如果有该角色,则校验通过。name属性值只能为单个。

示例如下:

 <shiro:hasRole name ="admin"> ... <shiro:hasRole/>

【2】<shiro:hasAnyRoles/>

如果是角色中的一个,则校验即可通过。name值可为多个。

示例如下:

<shiro:hasAnyRoles name ="admin,normal">...</shiro:hasAnyRoles>

【3】<shiro:lacksRole/>

如果用户没有该角色,则校验通过。name属性值只能有一个。

示例如下:

<shiro:lacksRole name ="admin">...</shiro:lacksRole >

【4】<shiro:hasPermission/>

如果用户有某个权限,则校验通过。name属性值只能有一个。

示例如下:

<shiro:hasPermission name = "user:area">....</shiro:hasPermission>

【5】<shiro:lacksPermission/>

如果用户没有该权限,则校验通过。name属性值只能有一个。

示例如下:

<shiro:lacksPermissionname ="admin">...</shiro:lacksPermission>

【6】<shiro:guest/>

来宾标签,如果未认证(登录) 或者 系统未记住,则通过校验。

In other words : 验证当前用户是否为“访客”,即未认证(包含未记住)的用户。

范围:未认证已记住+未记住已认证+未认证且未记住。

示例如下:

<shiro:guest>    Hello,Please login..</<shiro:guest>

【7】<shiro:user/>

用户标签,与来宾标签对应,如果已经认证(登录) 或 系统记住,则通过校验。

In other words : 认证通过或已记住的用户 。

范围:认证未记住+记住未认证+认证且记住。

<shiro:user>      Welcome back John! </shiro:user>  

【8】<shiro:authenticated/>

认证标签比user标签更严格,只有通过认证(登录)才可通过校验。

In other words : 只有已认证通过的用户,不包含已记住的用户,这是与user标签的区别所在

范围:认证且未记住+认证且已记住。

<shiro:authenticated>      ....</shiro:authenticated> 

【9】<shiro:notAuthenticated/>

未认证通过用户,与authenticated标签相对应。与guest标签的区别是,该标签包含已记住用户。

范围:未认证且未记住+未认证且已记住。

示例如下:

<shiro:notAuthenticated>      Please <a href="login.jsp">login</a> </shiro:notAuthenticated>  

【10】<shiro:principal/>

输入当前用户信息,谨慎使用!

示例如下:

Hello, <shiro:principal/>, how are you today?  

原创粉丝点击