shiro_06_shiro标签使用以及shiro会话机制

shiro标签使用

前面介绍权限认证时,说了有3种方式:编程式授权,jsp标签,注解式授权,没测试一下,这一篇来测试一下shiro的标签的使用:

也可以参考官方文档:jsp标签

首先要引入标签:在jsp页面加

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

Guest 标签:用户没有身份验证时显示相应信息,即游客访问信息;

User 标签:用户已经身份验证/记住我登录后显示相应的信息;

Authenticated 标签:用户已经身份验证通过,即 Subject.login 登录成功,不是记住我登录的。

notAuthenticated 标签:用户没有身份验证通过,即没有调用 Subject.login 进行登录,包括记住我自动登录 的也属于未进行身份验证。

principal 标签 显示用户身份信息,默认调用 Subject.getPrincipal()获取,即 Primary Principal。

hasRole 标签 如果当前 Subject 有角色将显示 body 体内容。

lacksRole 标签 如果当前 Subject 没有角色将显示 body 体内容。

hasAnyRoles 标签 如果当前 Subject 有任意一个角色(或的关系)将显示 body 体内容。

hasPermission 标签 如果当前 Subject 有权限将显示 body 体内容。

lacksPermission 标签 如果当前 Subject 没有权限将显示 body 体内容。 

统一在success.jsp页面测试,用不同用户登录后测试 

用户角色及权限配置:

shiro_06_shiro标签使用以及shiro会话机制_第1张图片

测试hasRole标签:

用java用户测试hasRole(admin):


	该用户有admin角色

 


测试lacksRole(admin);
用jack用户登录:


	没有admin角色

shiro_06_shiro标签使用以及shiro会话机制_第2张图片


测试hasAnyRoles:


	您有admin,teacher角色其中一个或者都有

shiro_06_shiro标签使用以及shiro会话机制_第3张图片


测试hasPermission:


	您有用户添加,删除功能的权限

name里面可以写一个或多个权限的名字


测试lacksPermission:


	您没有同时添加学生和添加用户的权限


测试principal标签:

hello,

相当于:hello,<%= SecurityUtils.getSubject().getPrincipal().toString() %>


测试Authenticated


	您已经登录

user,guest标签就不一一测试了,知道怎么使用就可以。


shiro会话机制

shiro自身提供了一种会话机制,有自己封装的session,和servlet提供的session一样的作用,当然如果不想用shiro的会话机制,也可以使用servlet的会话机制:

举个例子:

shiro_06_shiro标签使用以及shiro会话机制_第4张图片 

shiro_06_shiro标签使用以及shiro会话机制_第5张图片

你可能感兴趣的:(shiro)