![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring security
文章平均质量分 61
spring security
爱上口袋的天空
一步一流年,止不住的脚步,挽不回的青春!
展开
-
安全认证之SecurityContextHolder
简介 1)SecurityContextHolder是SpringSecurity最基本的组件了,是用来存放SecurityContext的对象,默认是使用ThreadLocal实现的,这样就保证了本线程内所有的方法都可以获得SecurityContext对象。 2) SecurityContextHolder还有其他两种模式,分别为SecurityContextHolder.MODE_GLOBAL和SecurityContextHolder.MODE_INHERITABLETHREADLOCAL...原创 2020-11-28 21:19:33 · 30257 阅读 · 0 评论 -
Spring Security简介
1、概要Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的 成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控 制),一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权 (Authorization)两个部分,这两点也是 Spring Security 重要核心功能原创 2021-07-17 11:34:37 · 350 阅读 · 0 评论 -
Spring Security基本原理
1、SpringSecurity 本质是一个过滤器链SpringSecurity 采用的是责任链的设计模式,它有一条很长的过滤器链。现在对这条过滤器链的各个进行说明: WebAsyncManagerIntegrationFilter:将 Security 上下文与 Spring Web 中用于处理异步请求映射的 WebAsyncManager 进行集成。 SecurityContextPersistenceFilter:在每次请求处理之前将该请求相关的安全上下文信息加载到 Securi转载 2021-07-17 17:50:54 · 3337 阅读 · 1 评论 -
Spring security用户认证(设置用户名密码)
1、通过配置文件实现设置用户名密码重新启动我们的服务:2、通过配置类继承接口实现设置用户名密码2.1、创建一个SecurityConfig配置类2.2、代码package com.kgf.security.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;imp...原创 2021-07-17 19:05:37 · 1177 阅读 · 2 评论 -
spring security简单的权限访问控制
1、在pom.xml文件中引入数据库的依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:/原创 2021-07-18 10:03:43 · 418 阅读 · 0 评论 -
Spring Security基于角色或权限进行访问控制以及403页面自定义
1、hasAuthority 方法如果当前的主体具有指定的权限,则返回 true,否则返回 false重新启动,测试:修改MyUserDetailsService:测试:2、hasAnyAuthority 方法如果当前的主体有任何提供的角色(给定的作为一个逗号分隔的字符串列表)的话,返回 true.3、hasRole 方法如果用户具备给定角色就允许访问,否则出现 403。 如果当前主体具有指定的角色,则返回 tr...原创 2021-07-18 11:26:31 · 472 阅读 · 1 评论 -
Spring Security中使用注解进行用户授权
1、@Secured功能:判断是否具有角色,另外需要注意的是这里匹配的字符串需要添加前缀“ROLE_”。使用@EnableGlobalMethodSecurity(securedEnabled=true)开启该注解功能。package com.kgf.security;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.原创 2021-07-18 12:30:28 · 446 阅读 · 1 评论 -
Spring Security中的用户注销
实现过程:登录成功后进入一个页面,点击退出后,无法访问需要权限的页面。pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac原创 2021-07-18 13:58:05 · 935 阅读 · 2 评论 -
Spring Security中的自动登录
实现原理认证成功后通过cookie向浏览器中存入加密字符串,并且向数据库中存入加密字符串和用户信息字符串。 再次访问获取cookie信息,使用加密字符串到数据库中进行比对,如果查询到对应的信息,认证成功,可以登录。spring security底层实现具体实现创建数据表CREATE TABLE `persistent_logins` ( `username` VARCHAR(64) NOT NULL, `series` VARCHAR(64) NOT NULL, `token原创 2021-07-18 17:06:04 · 598 阅读 · 0 评论 -
Spring Security中防护CSRF功能
CSRF是什么?CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。CSRF可以做什么?你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账…造成的问题包括:个人隐私泄露以及财产安全。CSRF的原理下图简单阐述了CSRF攻击的思想:转载 2021-07-18 17:27:34 · 2644 阅读 · 0 评论