spring-security
nrsc
::>_<::曾梦想当一个科学家::>_<::
展开
-
spring-security入门1---springboot项目搭建+简单修改Spring-Security的默认行为
1.项目搭建关键步骤(开发工具为idea,项目为springboot项目)①新建项目时要选上如下两个依赖②项目创建完成后的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/...原创 2019-06-10 09:04:59 · 1503 阅读 · 1 评论 -
spring-security入门2---自定义用户认证逻辑
1.如何使用自己的认证逻辑 通过上篇文章已经对spring-security有了初步的认识,但是现实项目中用户名不可能只为user,密码也不可能是随着项目的启动来自动生成. 那如何不使用spring-security的这种默认机制呢?其实很简单,只需要将一个实现了UserDetailsService接口的类注入到spring容器中,当我们访问该spr...原创 2019-06-11 01:06:15 · 1105 阅读 · 1 评论 -
spring-security入门3---如何自定义登陆页面(一)
项目源码地址https://github.com/nieandsun/security原创 2019-06-15 11:16:34 · 1827 阅读 · 1 评论 -
spring-security入门3---如何自定义登陆页面(二)
项目源码地址https://github.com/nieandsun/security原创 2019-06-16 10:52:54 · 1144 阅读 · 0 评论 -
spring-security入门4---自定义登录成功和登录失败的行为
项目源码地址https://github.com/nieandsun/security原创 2019-06-18 23:50:57 · 1697 阅读 · 3 评论 -
spring-security入门5---自定义登陆页面优化---提供默认实现,但可通过修改配置进行个性化实现(一)
项目源码地址https://github.com/nieandsun/security原创 2019-06-21 00:10:35 · 1860 阅读 · 0 评论 -
spring-security入门5---自定义登录成功/登陆失败优化---提供默认实现,但可通过修改配置进行个性化实现(二)
项目源码地址https://github.com/nieandsun/security1. 自定义登陆成功/登陆失败优化本篇文章是在上篇文章基础上写的,主要做的事有如下几项,以自定义登录优化为例:1.1package com.nrsc.security.core.properties;/** * 处理成功和处理失败可以有不同的方式,这里做个简单处理,要么都为REDIRECT,要么都为...原创 2019-06-21 10:05:38 · 1192 阅读 · 0 评论 -
spring-security入门6---表单登陆认证原理源码解析
看再多的视频,读再多的博客,不如亲自debug跟一遍源代码,而要想真正比较彻底的搞明白这个知识点,必须将其用自己的文字表达出来.━━━━━这就是我写博客的初衷!1. 基于表单登陆认证所要经过的类下面将对各个类进行解析1.1 SecurityContextPersistenceFilter请求进来时,检查session,如果有SecurityContext(已认证用户对象的一个封装类)拿出...原创 2019-06-26 01:13:27 · 965 阅读 · 0 评论 -
spring-security入门7---浅析spring-security原理
1. spring-security原理大致如下对上图进行说明如下。1.1 继承了WebSecurityConfigurerAdapter的配置类(以下简称“配置类”)配置类主要有两个作用决定了进行用户信息认证与授权究竟走哪条路线;决定了在具体的路线上到底该怎么走。举例来讲:走哪条路线当我们配置的认证方式为http.formLogin()…时,用户在访问我们的项目时会利用...原创 2019-07-02 21:46:40 · 767 阅读 · 1 评论 -
spring-security入门8---获取用户对象信息
项目源码地址https://github.com/nieandsun/security前面文章讲过 SecurityContextPersistenceFilter 请求进来时,会检查session,如果有SecurityContext(可以直接认为已经认证的对象)则拿出来放到线程里即SecurityContextHolder中,返回时校验SecurityContextHolder中是否有sec...原创 2019-07-02 23:26:14 · 1737 阅读 · 0 评论 -
spring-security入门9---记住我功能
项目源码地址https://github.com/nieandsun/security1.基本原理注意1: 图中UsernamePasswordAuthenticationFilter不是很准确,通过看源码我们可以知道,当我们在配置文件里指定认证方式为http.formLogin()… 时,UsernamePasswordAuthenticationFilter位置对应的Filter实际应为A...原创 2019-07-04 00:46:33 · 787 阅读 · 0 评论 -
spring-security入门10---图形验证码(一)---功能实现
项目源码地址https://github.com/nieandsun/security原创 2019-07-06 11:19:56 · 628 阅读 · 0 评论 -
spring-security入门10---图形验证码(二)----重构【验证码生成逻辑可配置 验证码基本参数可配置】
项目源码地址https://github.com/nieandsun/security原创 2019-07-07 00:48:20 · 553 阅读 · 2 评论 -
spring-security入门10---图形验证码(三)----重构【验证码拦截的接口可配置】
项目源码地址https://github.com/nieandsun/security原创 2019-07-07 01:05:07 · 774 阅读 · 0 评论 -
spring-security入门11---短信验证码(一)----获取短信验证码接口开发+简单重构
项目源码地址https://github.com/nieandsun/security原创 2019-07-10 01:00:43 · 1443 阅读 · 2 评论 -
spring-security入门11---短信验证码(二)----重构---模板模式
项目源码地址https://github.com/nieandsun/security原创 2019-07-12 08:59:47 · 580 阅读 · 0 评论 -
spring-security入门11---短信验证码(三)----短信验证码校验功能开发
项目源码地址https://github.com/nieandsun/security原创 2019-07-16 23:50:28 · 661 阅读 · 0 评论 -
spring-security进阶1---第三方登陆原理1【从常理出发来思考一下oauth2协议】
1.从常理出发来想这个问题大家肯定都知道什么是第三方登陆,以CSDN来说,当我们需要进行登陆时会进入到如下页面以使用QQ登陆为例,当我们点击小企鹅图标时,会进入到下面的登陆认证页面...原创 2019-07-27 23:05:53 · 2155 阅读 · 1 评论 -
spring-security进阶1---第三方登陆原理2【springsocial】
上篇文章已经比较细致地讲解了第三方登陆的基本原理,但是具体该如何去真正落实到代码上呢?这里就不得不提springsocial,原创 2019-07-28 18:12:21 · 826 阅读 · 0 评论 -
spring-security进阶2---第三方登陆之QQ登陆1【获取QQ用户信息】
文章目录1 开发流程简介2 QQ开发文档简单介绍1 开发流程简介上篇文章spring-security进阶1—第三方登陆原理2【springsocial】介绍了springsocial开发第三方登陆的原理,在文中介绍到要想获取服务提供商(QQ等)的用户信息.首先需要Connection类,它的作用是封装从获取到的用户信息获取Connection类,又需要ConnectionFactory...原创 2019-08-06 10:02:44 · 1234 阅读 · 0 评论 -
【MySQL报错处理】[Err] 1064 、[Err] 1055、JdbcUsersConnectionRepository.sql建表报错
今天在学习spring-social进行第三方登陆时遇到了两个数据库相关的问题,很简单的事,但是解决了很久。1 运行spring-social提供的sql报错问题springsocial提供的sql如下create table UserConnection (userId varchar(255) not null, providerId varchar(255) not null,...原创 2019-08-08 01:20:51 · 1385 阅读 · 0 评论 -
springsocial/oauth2---第三方登陆之QQ登陆2【springboot2.X没有SocialAutoConfigurerAdapter、SocialProperties的问题】
文章目录1 开发流程简介2 ApiAdapter对象的开发3 利用ApiAdapter对象+ServiceProvider对象构建ConnectionFactory对象3.1 构建ConnectionFactory对象--继承OAuth2ConnectionFactory的方式3.2 将 ConnectionFactory对象交给spring容器3.2.1 springboot为1.5.6.REL...原创 2019-08-18 22:28:46 · 3187 阅读 · 5 评论 -
springsocial/oauth2---第三方登陆之QQ登陆3【完成整个开发流程】
文章目录1 开发流程简介2 UserConnection表介绍3 配置UsersConnectionRepository对象4 通过userId去我们的用户信息表里去拿用户信息5 将SocialAuthenticationFilter加入到spring-security的过滤器链中5.1 将SocialAuthenticationFilter的配置类注入到spring容器5.2 将SocialAu...原创 2019-08-19 01:15:23 · 1114 阅读 · 6 评论 -
springsocial/oauth2---第三方登陆之QQ登陆4【redirect uri is illegal(100010)错误解决方式】
文章目录1 redirect uri is illegal(100010)错误的原因1 redirect uri是什么,怎么配置1.2 redirect uri与我们项目的关系2 解决 redirect uri错误2.1 修改我们项目的访问域名2.2 将SocialAuthenticationFilter默认拦截的请求/auth改为可以配置项目源码地址https://github.com/n...原创 2019-08-20 01:40:52 · 2110 阅读 · 0 评论 -
springsocial/oauth2---第三方登陆之QQ登陆5【/signin错误解决+springsocial源码解读①】
文章目录1. /singin 错误展示2 springsocial原理简介项目源码地址https://github.com/nieandsun/security1. /singin 错误展示上篇文章虽然解决了redirect uri is illegal(100010)错误,但是扫码进行授权后,发现仍然不能完成第三方登陆的流程,而是会报出下图所示的错误,通过后端打印日志可以看到服务请求了XX...原创 2019-09-05 00:56:09 · 1056 阅读 · 2 评论 -
springsocial/oauth2---第三方登陆之QQ登陆6【注册逻辑之/signup错误解决+springsocial源码解读②】
项目源码地址https://github.com/nieandsun/security原创 2019-09-10 00:52:33 · 976 阅读 · 0 评论 -
springsocial/oauth2---第三方登陆之QQ登陆7【注册逻辑之mysql里rank为关键字问题解决+springsocial源码解读③】
项目源码地址https://github.com/nieandsun/security原创 2019-09-12 04:00:31 · 1078 阅读 · 10 评论 -
springsocial/oauth2---第三方登陆之QQ登陆8【注册逻辑之免注册+springsocial源码解读④】
项目源码地址https://github.com/nieandsun/security原创 2019-09-15 00:00:54 · 632 阅读 · 3 评论 -
springsocial/oauth2---绑定和解绑处理【QQ绑定异常,微信解绑302/ERR_TOO_MANY_REDIRECTS】
项目源码地址https://github.com/nieandsun/security原创 2019-09-19 23:40:20 · 1686 阅读 · 0 评论 -
【springboot/springsecurity】session超时时间设置
文章目录1 springboot项目session超时时间设置2 springsecurity下如何通知用户session超时2.1 在配置文件BrowserSecurityConfig里加上session超时跳向的url2.2 在配置文件BrowserSecurityConfig里为指定session超时跳向的url授权2.3 写一个controller方法来处理session超时的提示逻辑2....原创 2019-09-21 11:48:05 · 24317 阅读 · 4 评论 -
springsecurity中session的并发控制
文章目录1 是什么?2 超过最大并发数量时,踢掉前面的登陆3 超过最大并发数量时,阻止后面的登陆项目源码地址https://github.com/nieandsun/security1 是什么?以腾讯视频会员为例,假如我的账号买了会员,则我可以享受看视频免广告,某些热门电视剧提前看等福利。若我的朋友也想享受这些福利又不想花钱买会员,则我可以让他用我的号登陆。但是假如我有很多很多的朋友都不想买...原创 2019-09-21 18:32:02 · 2707 阅读 · 2 评论 -
springboot2.1.8/springsecurity借助redis完成session集群管理
项目源码地址https://github.com/nieandsun/security原创 2019-09-22 10:49:32 · 2053 阅读 · 2 评论 -
spring-security退出登陆
项目源码地址https://github.com/nieandsun/security原创 2019-09-22 13:39:31 · 6915 阅读 · 3 评论 -
从cookie/session和token的角度来认识一下spring security oauth
项目源码地址https://github.com/nieandsun/security原创 2019-10-10 19:14:26 · 4880 阅读 · 2 评论 -
【Spring Security OAuth】--- 实现标准的OAuth服务提供商
项目源码地址https://github.com/nieandsun/security原创 2019-10-15 11:31:13 · 733 阅读 · 0 评论 -
从系统架构的角度谈谈OAuth2协议中的四种授权模式
1 Oauth协议简介原创 2019-10-17 00:47:45 · 1467 阅读 · 0 评论 -
【Spring Security OAuth】--- 获取token核心源码解读
文章目录1 明确目标 + 获取token核心流程梳理2 源码解读3 读后感+闲扯1 明确目标 + 获取token核心流程梳理在《从cookie/session和token的角度来认识一下spring security oauth》那篇文章里我们讲到要想开发基于token的认证方式,我们可以借助大牛们造好的轮子 — Spring Security OAuth。Spring Security OA...原创 2019-10-19 14:15:26 · 1538 阅读 · 0 评论 -
【Spring Security OAuth开发APP认证框架】--- 将用户名密码登陆嫁接到Spring Security OAuth
文章目录1 将自定义认证方式嫁接到Spring Security OAuth的原理2 将用户名密码登陆嫁接到Spring Security OAuth2.1 认证成功处理器 --- 认证成功后生成token2.2 app模块加入安全配置信息 --- 让我们自定义的认证方式生效3 测试项目源码地址https://github.com/nieandsun/security1 将自定义认证方式嫁接...原创 2019-10-19 19:26:51 · 695 阅读 · 0 评论 -
【Spring Security OAuth开发APP认证框架】--- 将短信登陆嫁接到Spring Security OAuth
文章目录1 短信登陆需要解决的问题和解决方式2 将短信登陆嫁接到Spring Security OAuth2.1 将注释掉的验证码相关配置信息放开2.2 修改保存、获取和移出验证码的逻辑2.3 修改原来保存、获取和移出验证码的代码3 测试项目源码地址https://github.com/nieandsun/security1 短信登陆需要解决的问题和解决方式在上篇文章《【Spring Se...原创 2019-10-20 08:53:58 · 585 阅读 · 0 评论 -
【Spring Security OAuth开发APP认证框架】--- 重构社交登陆(1) --- 服务提供商SDK使用简化模式时
文章目录1 原理2 基于openId的认证开发3 测试项目源码地址https://github.com/nieandsun/security1 原理首先要明确SDK是服务提供商(如QQ、微信等)提供的用于引导第三方应用(比如说我们自己的APP)完成授权流程的工具包,不同的服务提供商的SDK的具体实现是不一样的,选择的授权模式也是不一样的,一般会有两种模式:①简化模式,②授权码模式。如果服...原创 2019-10-20 23:21:34 · 633 阅读 · 0 评论