首页 > 其他分享 >SpringSecurity整合Thymeleaf和后台的权限

SpringSecurity整合Thymeleaf和后台的权限

时间:2023-07-25 11:13:30浏览次数:34  
标签:角色 list thymeleaf SpringSecurity Thymeleaf User 权限

1.首先,我们需要在pom文件中添加以下依赖:

<!--thymeleaf springsecurity5 依赖-->
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity5</artifactId>
</dependency>
<!--thymeleaf依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

 

2.在html页面中引入thymeleaf命名空间和security命名空间。

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extrasspringsecurity5">

 

3.获取属性:我们可以在html页面中通过sec:authentication标签获取usernamePasswordAuthenticationToken中所有getXXX的内容

name :登录账号名称
principal :登录主体,在自定义登录逻辑中是 UserDetails
credentials :凭证
authorities :权限和角色
details :实际上是 WebAuthenticationDetails 的实例。可以获取 remoteAddress (客
户端 ip)和 sessionId (当前 sessionId)

4.sec:authorize可以判断是否含有某权限或角色来显示或隐藏内容,做到权限的安全。

比如:
我们给用户添加以下角色和权限 (后台
UserDetailsServiceImpl的loadUserByUsername方法

//1.按照用户名查用户
//2.按id查权限list
//3.按id查角色list (角色必须前面拼接ROLE_)
//4.把权限list和角色list拼接成一个list,传入User
//User user=new User(username,myUser.getPassword(),authorities);

return new User("admin", encode,
                AuthorityUtils.commaSeparatedStringToAuthorityList("admin," +
                        "normal,ROLE_abc,/main.html, /insert, /delete"));

然后,在前端模板中写以下代码来判断权限和角色

<!--如果没认证-->
<div sec:authorize="!isAuthenticated()">显示没认证的内容</div>
<!--如果认证了-->
<div sec:authorize="isAuthenticated()">显示认证的内容</div>

通过权限判断:
<button sec:authorize="hasAuthority('/insert')">新增</button>
<button sec:authorize="hasAuthority('/delete')">删除</button>
<button sec:authorize="hasAuthority('/update')">修改</button>
<button sec:authorize="hasAuthority('/select')">查看</button>
<br/>
通过角色判断:
<button sec:authorize="hasRole('abc')">新增</button>
<button sec:authorize="hasRole('abc')">删除</button>
<button sec:authorize="hasRole('abc')">修改</button>
<button sec:authorize="hasRole('abc')">查看</button>

 

 

5.SpringSecurity的后台常用注解

 

 

转 : https://blog.csdn.net/qq_42582773/article/details/121941391

https://blog.csdn.net/weixin_46818691/article/details/126630085

 

标签:角色,list,thymeleaf,SpringSecurity,Thymeleaf,User,权限
From: https://www.cnblogs.com/fps2tao/p/17579264.html

相关文章

  • Thymeleaf
    springboot集成Thymeleaf示例:D:\java\demo\student\thymeleaf1.Thymeleaf介绍2.依赖导入在SpringBoot中使用thymeleaf模板需要引入依赖,可以在创建项目工程时勾选Thymeleaf,也可以创建之后再手动导入。<dependency><groupId>org.springframework.boot</groupId><a......
  • Linux系统特殊权限详解
    一、Linux系统特殊权限概述在Linux系统中,普通权限我们了解到有r(读)、w(写)、x(执行),这三种权限,但是在我们查看一些其它的文件时,会发现还会有其它权限的字母。例如:s,t等比如下面查看的这三个文件的权限,在不同用户权限上面有不同的字母。 二、suid1、在介绍这个权限之前需要了解一些......
  • Linux系列---【linux使用sudo命令管理普通用户执行root权限】
    linux使用sudo命令管理普通用户执行root权限为什么要用sudo?sudo提供了一种安全而灵活的方式,让普通用户在需要时以root用户的身份执行特权操作,同时也提供了更好的管理和安全性。通过合理配置sudoers文件,可以确保只有受信任的用户能够执行特权操作,从而保护系统的完整性和安......
  • sqlserver:拒绝了对对象 'QualityChxxx' (数据库 'xxx',架构 'dbo')的 SELECT 权限
    选择数据库(xxxx)—>安全性—->架构—->dbo(属性)—>权限—>添加—>浏览–>QualityChxxx  ......
  • kibana security 权限 分配
    kibanasecurity权限分配1.创建users设置密码,role随便选一个,后面要改成customerrole。2.创建roles主要是elastcisearch这个大页里面Clusterprivileges留白。RunAsprivileges选第一步里面的用户。indexprivileges选择所需的indices,然后privileges选择read,......
  • Android 8.0 framework 授予安装未知来源应用权限(去掉未知来源弹窗)
    Android8.0framework授予安装未知来源应用权限(去掉未知来源弹窗)在Android8.0及更高版本中,系统默认禁止安装来自未知来源的应用程序。这是为了确保用户设备的安全性,避免恶意软件的安装。然而,在某些情况下,我们可能仍然需要安装这些未知来源的应用程序。本文将介绍如何通过修改......
  • .net 拦截器多个权限拦截器 只要一个通过都通过
    .NET拦截器多个权限拦截器只要一个通过都通过的实现方法1.概述在.NET开发中,我们经常需要在程序的不同位置进行权限验证。通常情况下,我们会使用拦截器(Interceptor)来实现权限验证功能。拦截器是一种特殊的类,用于在方法执行前或执行后插入一些逻辑。在这个任务中,我们要实现一个拦截......
  • 账号和权限管理
    账号和权限管理1用户账号和组账号概述1.1用户帐号类型Linux中每个用户是通过UserId(UID)来唯一标识的新建用户1-60000自动分配0-65535端口号管理员:root,0程序用户:1-499(CentOS6以前),1-999(CentOS7以后)不登录的用户系统默认的情况对守护进程获取资源进行权限......
  • Linux账号权限管理
    目录本章结构账号和权限管理linux安全模型1.用户账号和组账号概述1.1用户账号类型1.2用户账号文件/etc/passwd1.3用户账号文件/etc/shadow1.4添加用户账号1.5设置/更改用户口令passwd1.6修改用户账号的属性1.7用户账号的初始配置文件权限掩码umask本章结构管理用户账号和......
  • Linux账号与权限管理
    目录一、用户和组账号管理1.1用户账号1.1.1账号分类1.2组账号二、文件目录的权限和归属2.1文件和目录的权限2.2修改文件和目录的权限chmod2.3修改文件和目录的归属chown2.4umask一、用户和组账号管理1.1用户账号1.1.1账号分类超级用户普通用户程序用户1.2组账号二、文件......