Springboot使用Thymeleaf提供的SpringSecurity标签控制支持

在使用thymeleaf渲染前端的html时,thymeleaf为SpringSecurity提供的标签属性,首先需要引入thymeleaf-extras-springsecurity4依赖支持。

一、在pom 文件中的引入springsecurity的标签依赖thymeleaf-extras-springsecurity5。

<dependency>
  <groupId>org.thymeleaf.extras</groupId>
  <artifactId>thymeleaf-extras-springsecurity5</artifactId>
  <version>3.0.4.RELEASE</version>
</dependency>

 

二、在html文件里面申明使用。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5" >

 

三、常用SpringSecurity的标签属性介绍

判断用户是否已经登陆认证,引号内的参数必须是isAuthenticated()。
sec:authorize="isAuthenticated()"

获得当前用户的用户名,引号内的参数必须是name。
sec:authentication=“name”

判断当前用户是否拥有指定的权限。引号内的参数为权限的名称。
sec:authorize=“hasRole(‘role’)”

获得当前用户的全部角色,引号内的参数必须是principal.authorities。
sec:authentication="principal.authorities"

 

四、运用介绍

使用sec:authorize="isAuthenticated()" 判断是否登录 登录之后显示的页面内容

<div sec:authorize="isAuthenticated()">
    <h2><span sec:authentication="name"></span>,您好 您的身份是
        <span sec:authentication="principal.authorities"></span>
    </h2>
</div>

 

使用sec:authorize="hasRole('VIP1')"控制

<div sec:authorize="hasRole('VIP1')">
    <h3>我的VIP角色</h3>
    <ul>
        <li><a th:href="@{/level1/1}">免费阅读</a></li>
        <li><a th:href="@{/level1/2}">购买8折</a></li>
    </ul>
</div>

 

以上是本人对Thymeleaf提供的SpringSecurity的标签支持的简单使用,希望对需要的朋友能够提供到帮助!

posted @ 2020-09-11 13:57  IT民工郑小江  阅读(3482)  评论(0编辑  收藏  举报