shiro和thymealeaf整合
一、加入依赖
<dependency>
<groupId>com.github.theborakompanioni</groupId>
<artifactId>thymeleaf-extras-shiro</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.7.0</version>
</dependency>
二、加一个配置类
@Bean//整合ShiroDialect:用来整合shiro thymeLeaf
public ShiroDialect getshirodialect(){
return new ShiroDialect();
}
三、很重要开头加这个,不然没有提示,哈哈哈
<html lang="en" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/extras/spring-security" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
四、剩下的事html里面的标签用法
1 guest(游客)
<shiro:guest>
您当前是游客,<a>登录</a>
</shiro:guest>
2 user(已经登录,或者记住我登录)
<shiro:user>
欢迎[<shiro:principal/>]登录,<a href="/DataAnalysisSystem/logout">退出</a>
</shiro:user>
3 authenticated(已经认证,排除记住我登录的)
<shiro:authenticated>
用户[<shiro:principal/>]已身份验证通过
</shiro:authenticated>
4 notAuthenticated(和authenticated相反) 用于识别是不是本次操作登录过的,
<shiro:notAuthenticated>
当前身份未认证(包括记住我登录的)
</shiro:notAuthenticated>
5 取到username
<h1> welcome: <shiro:principal/></h1>
6.hasRole标签(判断是否拥有这个角色)
<shiro:hasRole name="admin">
用户[<shiro:principal/>]拥有角色admin<br/>
</shiro:hasRole>
7.hasAnyRoles标签(判断是否拥有这些角色的其中一个)
<shiro:hasAnyRoles name="admin,user,member">
用户[<shiro:principal/>]拥有角色admin或user或member<br/>
</shiro:hasAnyRoles>
8.lacksRole标签(判断是否不拥有这个角色)
<shiro:lacksRole name="admin">
用户[<shiro:principal/>]不拥有admin角色
</shiro:lacksRole>
9.hasPermission标签(判断是否有拥有这个权限)
<shiro:hasPermission name="user:add">
用户[<shiro:principal/>]拥有user:add权限
</shiro:hasPermission>
10.lacksPermission标签(判断是否没有这个权限)
<shiro:lacksPermission name="user:add">
用户[<shiro:principal/>]不拥有user:add权限
</shiro:lacksPermission>