Shiro教程(九)Shiro JSP标签的使用。

 

Shiro  提供了 JSP  的一套 JSTL  标签,用于做 JSP  页面做权限控制的。可以控制一些按钮和一些超链接,或者一些显示内容。

Freemarker Shiro标签讲解:https://blog.csdn.net/baidu_37366055/article/details/88072120

 

 

其实标签都是和Freemarker Shiro标签对应的,只不过是把@shiro.xxx  改成shiro:xxx 。下面来细细道来。

不过引入有区分,JSP需要在头部引入, Shiro  提供的TLD 文件:

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

 

下面来讲解具体的标签用法。

1.guest(游客)

 
  1. 您当前是游客,登录

2.user(已经登录,或者记住我登录)

 
  1. 欢迎[]登录,退出

3.authenticated(已经认证,排除记住我登录的)

 
  1. 用户[]已身份验证通过

4.notAuthenticated(和authenticated相反)

 
  1. 当前身份未认证(包括记住我登录的)

这个功能主要用途,识别是不是本次操作登录过的,比如支付系统,进入系统可以用记住我的登录信息,但是当要关键操作的时候,需要进行认证识别。

5.principal标签,这个要稍微重点讲讲。好多博客都是一下带过。

principal 标签,取值取的是你登录的时候。在Realm 实现类中的如下代码:

 
  1. ....
  2. return new SimpleAuthenticationInfo(user,user.getPswd(), getName());

new SimpleAuthenticationInfo(第一个参数,....) 的第一个参数放的如果是一个username ,那么就可以直接用。

 

如果第一个参数放的是对象,比如我喜欢放User 对象。那么如果要取username 字段。

 

和下面 Java  代码一致

 
  1. User user = (User)SecurityUtils.getSubject().getPrincipals();
  2. String username = user.getUsername();

6.hasRole标签(判断是否拥有这个角色)

 
  1. 用户[]拥有角色admin

7.hasAnyRoles标签(判断是否拥有这些角色的其中一个)

 
  1. 用户[]拥有角色admin或user或member

8.lacksRole标签(判断是否不拥有这个角色)

 
  1. 用户[]不拥有admin角色

9.hasPermission标签(判断是否有拥有这个权限)

 
  1. 用户[]拥有user:add权限

10.lacksPermission标签(判断是否没有这个权限)

 
  1. 用户[]不拥有user:add权限

自定义标签,请百度。或者我回头再讲解!

 

你可能感兴趣的:(Shiro)