
Spring Security
文章平均质量分 83
Spring Security基础
吴声子夜歌
个人学习记录
展开
-
JWT实现单点登录
UserToken:token中存储的用户信息。因为token可以被解码,所以不要有敏感信息。自定义注解,用于排除指定方法的token检验。ThreadLocal缓存已经登录的用户。用于生成和解析token。原创 2023-11-03 22:04:11 · 317 阅读 · 0 评论 -
Restful接口设计
Rest简述REST(Representational State Transfer)描述了一个架构样式的网络系统,比如web应用程序。它首次出现2000年Roy Fielding的博士论文中,他是HTTP规范的主要编写者之一。在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了...原创 2020-04-04 13:06:55 · 777 阅读 · 0 评论 -
单点登录概述
单点登录多系统,单一位置登录,实现多系统同时登录的一种技术。常出现在互联网应用和企业级平台中。单点登录一般是用于互相授信的系统,实现单一位置登录,全系统有效的。一、 Session跨域所谓Session跨域就是摒弃了系统提供的Session,而使用自定义的类似Session的机制来保存客户端数据的一种解决方案。如:通过设置cookie的domain来实现cookie的跨域传递。在cook...原创 2020-04-03 17:52:09 · 368 阅读 · 0 评论 -
OAuth--JWT令牌
JWT令牌原创 2020-04-01 11:53:25 · 445 阅读 · 0 评论 -
OAuth--资源服务配置、测试
资源服务配置@EnableResourceServer 注解到一个 @Configuration 配置类上,并且必须使用 ResourceServerConfigurer 这个 配置对象来进行配置(可以选择继承自 ResourceServerConfigurerAdapter 然后覆写其中的方法,参数就是这个 对象的实例),下面是一些可以配置的属性:ResourceServerSecurity...原创 2020-03-31 23:37:55 · 675 阅读 · 0 评论 -
OAuth2--授权模式
授权码模式原创 2020-03-31 22:09:58 · 972 阅读 · 0 评论 -
OAuth2--授权服务器配置
EnableAuthorizationServer可以用 @EnableAuthorizationServer 注解并继承AuthorizationServerConfigurerAdapter来配置OAuth2.0 授权 服务器。 @Configuration @EnableAuthorizationServer public class AuthorizationServe...原创 2020-03-31 20:42:32 · 2335 阅读 · 1 评论 -
OAuth2.0--概述
OAuth2.0概述OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不 需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0。很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服 务,这些都足以说明OA...原创 2020-03-30 22:34:21 · 322 阅读 · 0 评论 -
分布式认证方案
分布式认证方案随着软件环境和需求的变化 ,软件的架构由单体结构演变为分布式架构,具有分布式架构的系统叫分布式系统,分 布式系统的运行通常依赖网络,它将单体结构的系统分为若干服务,服务之间通过网络交互来完成用户的业务处 理,当前流行的微服务架构就是分布式系统架构,如下图:分布式系统具体如下基本特点:分布性:每个部分都可以独立部署,服务之间交互通过网络进行通信,比如:订单服务、商品服务。伸...原创 2020-03-30 21:49:27 · 691 阅读 · 0 评论 -
SpringSecurity--工作原理详解
结构总览Spring Security所解决的问题就是安全访问控制,而安全访问控制功能其实就是对所有进入系统的请求进行拦截, 校验每个请求是否能够访问它所期望的资源。根据前边知识的学习,可以通过Filter或AOP等技术来实现,Spring Security对Web资源的保护是靠Filter实现的,所以从这个Filter来入手,逐步深入Spring Security原理。当初始化Spring ...原创 2020-03-30 19:47:06 · 3910 阅读 · 2 评论 -
SpringSecurity--认证授权概述
认证进入移动互联网时代,大家每天都在刷手机,常用的软件有微信、支付宝、头条等,下边拿微信来举例子说明认证 相关的基本概念,在初次使用微信前需要注册成为微信用户,然后输入账号和密码即可登录微信,输入账号和密码 登录微信的过程就是认证。系统为什么要认证?认证是为了保护系统的隐私数据与资源,用户的身份合法方可访问该系统的资源。认证 : 用户认证就是判断一个用户的身份是否合法的过程,用户去访问系统...原创 2020-03-30 10:27:22 · 344 阅读 · 0 评论 -
SpringSecurity--角色继承、动态权限
角色继承用户表user:角色表role:中间表user_role:一般来说,角色之间是有关系的,例如ROLE_admin一般既具有admin的权限,又具有user的权限。在Spring Security中只需要开发者提供一个RoleHierarchy即可。假设ROLE_dba是终极大Boss,具有所有的权限,ROLE_admin具有ROLE_user的权限,ROLE_user则是...原创 2020-02-08 14:04:17 · 2728 阅读 · 0 评论 -
SpringSecurity--基于数据库的认证
1. 设计数据表一共三张表:分别是用户表user、角色表role和关联的中间表user_role,再插入几条测试数据。DROP TABLE IF EXISTS `role`;CREATE TABLE `role` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL, `nameZh` va...原创 2020-02-08 12:33:38 · 856 阅读 · 2 评论 -
SpringSecurity--密码加密、方法安全
密码加密Spring Security提供了多种密码加密方案,官方推荐使用BCryptPasswordEncoder,BCryptPasswordEncoder使用BCrypt强哈希函数,开发者在使用时可以选择提供strength和SecureRandom实例。strength越大,密钥的迭代次数越多,密钥迭代次数为2^strength。strength取值在4~31之间,默认为10.在Spr...原创 2020-02-08 01:50:02 · 2806 阅读 · 0 评论 -
SpringBoot--配置多个HttpSecurity
配置多个HttpSecurity如果业务比较复杂,开发者也可以配置多个HttpSecurity,实现对WebSecurityConfigurerAdapter的多次扩展:@Configurationpublic class MultiHttpSecurityConfig { @Bean PasswordEncoder passwordEncoder(){ ...原创 2020-02-08 00:27:11 · 1690 阅读 · 0 评论 -
SpringSecurity--自定义登录页面、注销登录配置
自定义页面Spring Security的登录表单默认使用它自己提供的页面,登录成功后也是默认的页面跳转,也可以自定义登录页面 mylogin.html:<!DOCTYPE html><html lang="en" xmlns:th="http://www.w3.org/1999/xhtml"><head> <meta charset="U...原创 2020-02-08 00:15:37 · 1169 阅读 · 0 评论 -
SpringSecurity--SpringBoot基本配置
SpringSecurity的基本配置SpringBoot针对SpringSecurity提供了自动化配置方案,因此可以使SpringSecurity非常容易地整合进SpringBoot项目中,这也是在SpringBoot项目中使用SpringSecurity的优势。基本用法1. 创建项目,添加依赖: <dependency> <groupId&...原创 2020-02-07 21:48:36 · 681 阅读 · 0 评论