首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解决SpringSecurity手动退出登录再次登录成功重定向登录界面的问题

使用SpringSecurity时遇到一个奇怪的问题,就是: 当用户主动点击退出按钮,跳转到登录界面,这个时候进行登录操作。...虽然登录成功,却还是停留在的登录界面(其实已经登录成功,如果手动修改URL地址能够正常进入到需要登录才能进入的界面),并且浏览器地址后面追加了?...delete-cookies 指定退出登录需要删除的 cookie 名称,多个 cookie 之间以逗号分隔。...logout-success-url 指定成功退出登录重定向的 URL。需要注意的是对应的 URL 应当是不需要登录就可以访问的。...由于我项目中并没有配置退出登录重定向的URL,但SpringSecurity支持登录成功跳回到退出之前的界面的逻辑,这就导致了再次点击登录登录成功重新跳回到了“退出地址界面”,而并没有真正的退出

2.7K10

Spring Security 实战干货:登录成功返回 JWT Token

本篇我们将一起探讨如何将 JWT 与 Spring Security 结合起来,认证成功不再跳转到指定页面而是直接返回 JWT Token 。本文的DEMO 可通过文末的方式获取 2....我们登录成功不在跳转到首页,将会直接返回 JWT Token 对(DEMO中为JwtTokenPair),登录失败返回认证失败相关的信息。 3....实现登录成功/失败返回逻辑 如果你看过 Spring Security 实战干货:玩转自定义登录 将非常容易理解下面的做法。...3.1 AuthenticationSuccessHandler 返回 JWT Token AuthenticationSuccessHandler 用于处理登录成功的逻辑,我们编写实现并注入 Spring...总结 今天我们将 JWT 和 Spring Security 联系了起来,实现了 登录成功返回 JWT Token 。

2.5K60
您找到你想要的搜索结果了吗?
是的
没有找到

奇怪,Spring Security 登录成功总是获取不到登录用户信息?

1.问题复现 如果使用了 Spring Security,当我们登录成功,可以通过如下方式获取到当前登录用户信息: SecurityContextHolder.getContext().getAuthentication...() Controller 的方法中,加入 Authentication 参数 这两种办法,都可以获取到当前登录用户信息。...小伙伴们都知道,无论是 Spring Security 还是 Shiro,它的一系列功能其实都是由过滤器来完成的, Spring Security 中,松哥前面跟大家聊了 UsernamePasswordAuthenticationFilter...搞明白这一点之后,再去解决 Spring Security 登录无法获取到当前登录用户这个问题,就非常 easy 了。...「如果放在这里,登录请求将不走 SecurityContextPersistenceFilter 过滤器,也就意味着不会登录用户信息存入 session,进而导致后续请求无法获取到登录用户信息。」

7.7K61

Spring Boot Security+JWT前后端分离架构认证登录,居然还有人不会

前后端分离认证的思路 前后端分离不同于传统的web服务,无法使用session,因此我们采用JWT这种无状态机制来生成token,大致的思路如下: 客户端调用服务端登录接口,输入用户名、密码登录登录成功返回两个...登录认证过滤器接口配置 上述定义了一个认证过滤器JwtAuthenticationLoginFilter,这个是用来登录的过滤器,但是并没有注入加入Spring Security的过滤器链中,需要定义配置...将自定义的过滤器配置到spring security的过滤器链中,配置UsernamePasswordAuthenticationFilter之前 * @param http */...Spring Security的原理就是一系列的过滤器组成,登录流程也是一样,起初org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter...然后认证,一旦认证成功或者失败,则会调用对应的失败、成功处理器进行处理。 总结 Spring Security虽然比较重,但是真的好用,尤其是实现Oauth2.0规范,非常简单方便。

1.5K31

解决前后端分离Vue项目部署到服务器出现的302重定向问题

问题描述 最近发现自己开发的vue前后端分离项目因为使用了spring security 安全框架,即使登录认证成功之后再调用一些正常的接口总是会莫名奇妙地出现302重定向的问题,导致接口数据出不来。...通过jwt token认证相当于spring security需要对用户的每次请求都先认证一次,如果用户的认证信息没有保存到SecurityContext类中的authentication中就会在调用非登录接口获取数据时出现这种重定向登录页面的问题...对于白名单中的请求部署到服务器不会有这种302重定向登录页面的问题。因为这些白名单请求Spring Security中也进行了放行, 源码如下。...,也可以看到页面的数据成功加载出来了 通过F12调试模式查看网络请求也可以看到没有302重定向的问题了,数据也成功返回了 为了进一步验证调用这个接口时需要重新认证用户的登录信息,我们通过部署目录执行...由此验证了302重定向的问题是接口之前是spring security框架需要重新认证用户登录信息却没有拿到用户的认证信息导致的,只需要调用这个接口验证jwt token信息,然后解析出用户身份信息重新保存到

3K20

单点登录与授权登录业务指南

一旦授权,你就可以使用社交媒体账号新网站上登录,而无需创建新的账户。这种方式简化了登录流程,同时保护了你的密码安全,因为你的社交媒体登录信息不会被第三方网站获取。...SSO原理 单点登录的原理主要是由下面部分构成: 统一登录入口: 所有系统共用一个登录页面,用户只在这里登录一次。 授权令牌创建: 登录成功认证中心会创建一个“令牌”(一种特殊的标记)。...邮件系统将他重定向到公司的SSO认证中心,Tom在那里登录登录成功,他被带回邮件系统,并且可以访问他的邮件。之后,Tom决定查看公司的内部论坛(系统2)。...接收和存储令牌:用户sso-server成功登录,sso-client接收并存储从sso-server发来的授权令牌。...访问客户端:浏览器中访问客户端应用。由于客户端配置了OAuth2登录,您将被重定向到sso-server进行认证登录重定向 sso-server 登录,您将被重定向回客户端应用。

61821

打造REST风格的Spring Security配置

3.2.认证入口点 一个标准的web应用程序中,当客户端不经过身份认证就试图访问一个安全的资源时,身份认证过程可能会被自动触发——这通常是通过重定向登录页面来实现的,这样用户就可以输入认证信息了。...3.4.认证通过应该返回200而不是301 默认情况下,一个请求在身份认证成功,组件将使用 301 MOVED PERMANENTLY HTTP状态码进行响应;这在实际的表单登录上下文中是有意义的...,因为它需要在登录重定向。...然而,对于一个基于REST的web服务,成功认证所需的响应应该是200 OK。 这是通过表单登录的过滤器中注入一个自定义认证成功处理器来完成的,以替换默认的配置。...唯一的区别是,既然我们XML配置中明确地定义了这一点——它不会Spring中获得默认的defaultFailureUrl——因此就不会重定向了。

85220

Spring Security 做前后端分离,咱就别做页面跳转了!统统 JSON 交互

但是使用了 Spring Security 这样的安全管理框架之后,即使你是一个新手,也不会犯这样的错误。...很明显可以强迫开发者给一个模糊的异常提示,这样即使是不懂行的新手,也不会将系统置于危险之中。 好了,这样配置完成,无论是登录成功还是失败,后端都将只返回 JSON 给前端了。 3....未认证处理方案 那未认证又怎么办呢? 有小伙伴说,那还不简单,没有认证就访问数据,直接重定向登录页面就行了,这没错,系统默认的行为也是这样。...但是在前后端分离中,这个逻辑明显是有问题的,如果用户没有登录就访问一个需要认证才能访问的页面,这个时候,我们不应该让用户重定向登录页面,而是给用户一个尚未登录的提示,前端收到提示之后,再自行决定页面跳转...这样,如果用户再去直接访问一个需要认证之后才可以访问的请求,就不会发生重定向操作了,服务端会直接给浏览器一个 JSON 提示,浏览器收到 JSON 之后,该干嘛干嘛。 4.

5.5K30

基于Spring的简易SSO设计

,则将请求重定向到sso 站点的login页面;此外,它还用于接收SSO登录成功返回的token标识 1.2 SSO App 即SSO的主站点,提供统一的登录认证,并将认证的token返回给Client...直接重定向到sso的login页面,并在returnURL参数中,将请求页面传递给sso 3.1 登录成功,生成一个token字符串,然后将token-user info的映射关系,存入token server...性能分析: 从前面的分析可以看出,即使第一次认证成功,后续的每个页面请求都要到SSO上验证token的真伪,这样如果并发用户比较多,SSO的压力略大,可以client website中增加二级缓存,...登录认证,而Token Server可以用Spring-Cache来实现,至于SSO Client Filter、Client Website,Spring-MVC/Servlet Filter可以轻松搞定...,如果没有,则弹出登录窗口,将用户名、密码参数,发送到sso进行认证(相当于重定向到sso的login页面认证),认证成功,将服务端返回的token写入本地xml(相当于sso client filter

1.4K60

Cas单点登录常见问题总结

2、认证成功之后,还是进不去客户端子系统。 认证成功,卡在了前端登录界面,就是进不去。 认证成功的跳转路径是否经过了后端的校验过滤器。 前后端是否使用了同一个session。...安全框架问题。 security配置文件里设置,这个接口不会会或者不会跳转即可,security框架控制某些接口不跳转。 11、过滤器顺序问题。...12、所有的请求都是200,302已经成功,但页面就是不跳转,不重定向。 按出来F12,看到请求都正常,但是页面就是不动。 检查登录接口。 检查JS回调函数。...认证成功,访问客户端必须是经过过滤器的。 前后端同一个session。 这种前提不是固定死的,根据本身项目情况不是必要的。 但是认证成功,访问客户端必须经过过滤器,这个前提是统一的,必须完成的。...1、拦截器是被Spring容器管理的,过滤器不可以使用IOC中的bean进行业务处理。 2、过滤器只servlet前后起作用,拦截器深入controller方法前后,异常抛出前后。

2.1K21

Spring Security技术栈开发企业级认证与授权(十五)解决Spring Social集成QQ登录的注册问题

上一篇文章主要完成了Spring Social集成QQ登录主要逻辑,但是最后还是遗留了一个问题,那就是授权登录跳转到了/signup上,其实这是Spring Social注册逻辑,所以我们就一起用这节内容来共同探讨解决这个问题...Social,Spring Social拿到数据以后,就会将这个唯一标识和用户QQ上的信息一同存储到UserConnection表中,那么下次授权登录的时候,再次走到认证代码中的时候,如下图所示:...,查找依据就是providerId和providerUserId(实际就是openId,QQ用户对于每个授权应用都会生成的一个唯一的ID),那么注册,或者绑定,就会查询到数据,这时候就不会返回null...了,也就不会再抛出重定向的异常了,那么就可以正确地进入到系统中了。...,如果用户第一次登录,那么Spring SocialUserConnection表中就查不到用户的数据,那么用户就会跳转到主页页面要求用户注册或者绑定,那么我们一起来看看具体的认证代码: ?

82610

Spring Boot2 系列教程(三十八)Spring Security 非法请求直接返回 JSON

关于 Spring Security,松哥之前发过多篇文章和大家聊聊这个安全框架的使用: 手把手带你入门 Spring Security!...Spring Security 结合 OAuth2 不过,今天要和小伙伴们聊一聊 Spring Security 中的另外一个问题,那就是 Spring Security 中未获认证的请求默认会重定向登录页...loginPage:这个表示登录页的地址,例如当你访问一个需要登录才能访问的资源时,系统就会自动给你通过重定向跳转到这个页面上来。...如果我们的 Spring Security 在用户未获认证的时候去请求一个需要认证才能请求的数据,此时不给用户重定向,而是直接就返回一个 JSON,告诉用户这个请求需要认证之后才能发起,就不会有上面的事情了...这样,如果用户再去直接访问一个需要认证之后才可以访问的请求,就不会发生重定向操作了,服务端会直接给浏览器一个 JSON 提示,浏览器收到 JSON 之后,该干嘛干嘛。

1.3K40

Spring Security入门(二) 基于内存存储的表单登录实战

实现基于内存存储的登录表单认证 3.1 SpringBoot web项目中加入Spring Security的依赖 本人之前的boot-demo项目的pom.xml文件中引入spring-boot-starter-security...包括保护请求的URL、认证提交的用户名和密码和重定向登录表单等。...输入user的用户和应用控制台中打印的登陆密码(32位UUID)登录成功浏览器页面会出现下面的内容: 欢迎学习 Spring Security!...; } 4 效果测试 IDEA中启动项目成功就可以测试效果了 4.1 测试登录接口 浏览你器中输入 http://localhost:8088/apiBoot/login 然后回车就可以看到和之前一样登录界面...4.2 测试 /index/user 接口和/index/admin接口 (1)使用user用户登录成功浏览器中输入 http://localhost:8088/apiBoot/index/user

69130

Shiro多项目集中权限管理及分布式会话--Java学习网

,自动把请求保存下来,然后重定向到shiro-example-chapter23-server模块登录登录成功重定向回来;因为SavedRequest不保存URL中的schema://domain...(authc),当用户没有身份认证时; 1、首先得到请求参数backUrl,即登录成功重定向到的地址; 2、然后保存保存请求到会话,并重定向登录地址(server模块); 3、登录成功,返回地址按照如下顺序获取...ClientAuthenticationFilter,即如果没有身份认证,则会重定向到Server模块完成身份认证,身份认证成功重定向回来。...backUrl=/chapter23-app1,即登录成功重定向回http://localhost/chapter23-app1(这是个错误地址,为了测试登录成功重定向地址),点击登录按钮重定向到...3、登录成功,会重定向到相应的登录成功地址;接着访问http://localhost/chapter23-app1/hello,看到如下图: ?

93010

Spring Security 实战干货:实现自定义退出登录

前言 上一篇对 Spring Security 所有内置的 Filter 进行了介绍。今天我们来实战如何安全退出应用程序。 2....我们使用 Spring Security 登录都做了什么 这个问题我们必须搞清楚!一般登录,服务端会给用户发一个凭证。...退出登录后用户可以通过重新登录认证该用户。 3. Spring Security 中的退出登录 接下来我们来分析并实战 如何定制退出登录逻辑。首先我们要了解 LogoutFilter 。...3.2.3 退出成功逻辑 logoutSuccessUrl(String logoutSuccessUrl) 退出成功后会被重定向到此 URL ,你可以写一个Controller 来完成最终返回,但是需要支持...3.3 Spring Security 退出登录实战 现在前后端分离比较多,退出返回json。而且只有用户在线才能退出登录。否则不能进行退出操作。

2.6K30

全面介绍SSO(单点登录

自己web服务实现登录登录功能 安全性偏低 使用Spring Security + Oauth2实现登录登录功能 优点:企业级,安全性高 提供了多种安全验证方式 可以处理复杂的权限控制 ​ 四、Spring...Security 介绍 Spring Security是什么Spring security 是一个强大的和高度可定制的身份验证和访问控制框架,它提供了基于javaEE的企业应有个你软件全面的安全服务...该系统 (成功) 验证该用户名的密码正确。 获取该用户的环境信息 (他们的角色列表等). 为用户建立安全的环境。...(D)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌。这一步是客户端的后台的服务器上完成的,对用户不可见。...(E)认证服务器核对了授权码和重定向URI,确认无误,向客户端发送访问令牌(access token)和更新令牌(refresh token)。 下面是上面这些步骤所需要的参数。

3.2K20
领券