当前位置: 首页 > 知识库问答 >
问题:

spring-security-oauth2:默认登录成功url

包和泰
2023-03-14

是否可以为Spring Oauth2 Sso服务设置默认登录成功URL?

紧随塞纳里奥

    null

有没有一种方法可以不重定向到上一个受保护的请求的资源,而是默认情况下重定向到'index.html'?

请让我知道,即使没有办法实现这一点

共有1个答案

竺绍辉
2023-03-14

我有(我认为)一个类似的问题:在我的例子中,一旦SSO请求成功,用户就被重定向到/,这不是我想要的。

有一个内置的解决方案,需要一些挖掘才能找到。

AbstractAuthenticationProcessingFilter有一个SetAuthenticationSuccessHandler方法,允许您对此进行控制,因此,如果您有权访问OAuth2ClientAuthenticationProcessingFilter,您可以将其设置为您想要的。

如果您有一个类似于教程的设置:https://spring.io/guides/tutorials/spring-boot-oauth2/#_social_login_manual,那么您只需将以下内容添加到教程中创建的oauth2ClientAuthenticationProcessingFilter:

OAuth2ClientAuthenticationProcessingFilter oauth2Filter = new OAuth2ClientAuthenticationProcessingFilter("/XXXProvider/login");
oauth2Filter.setAuthenticationSuccessHandler(new SimpleUrlAuthenticationSuccessHandler() {
    public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
        this.setDefaultTargetUrl("/my_preferred_location");
        super.onAuthenticationSuccess(request, response, authentication);
    }
});
 类似资料:
  • 有没有一种方法可以添加一个登录成功处理程序使用spall-oaut2? 我尝试使用基本身份验证过滤器,但它只过滤客户端凭据,而不是用户凭据。 还是需要创建自定义用户身份验证管理器? 蒂亚

  • 我正在开发一个rest服务,它将通过浏览器、单页应用程序和移动应用程序在浏览器中提供。现在我的服务没有Spring就可以工作了。oauth2客户机是在过滤器内部实现的,可以说是“手工”。 我正在尝试将其迁移到spring Boot。阅读了大量的手册和谷歌搜索了大量的信息,我正在努力了解以下内容是否对客户来说是可能的: > 通过Spring-Security-Oauth2提供的所有帮助,使用face

  • 这是application.properties文件的一部分: 一旦登录,用户可以调用这个url/users/{username},但是当他通过OAuth2登录facebook或google时,他会被拒绝,因为权威列表是空的。当他用他的webapp凭据登录时,权威列表包含USER_ROLE,他可以继续操作。 主体对象内部有: null null

  • 客户端SPA应用程序,我要使用的登录页面驻留于此 OAuth身份验证服务器(使用Spring Security OAuth/) 一个或多个OAuth资源服务器 我寻求的OAuth流如下所示: 用户尝试访问SPA中的安全路由 客户端将用户重定向到OAuth服务器的授权页(参数包括状态、随机数等) OAuth服务器未检测到令牌并重定向到SPA的登录页 用户登录;post到登录url(登录url位于OA

  • 我是Spring Security的新手,我一直在阅读API和Javadocs,我相信我需要关于我的问题的帮助。 到目前为止,根据反复试验,我观察到的是抛出一个异常,提示authenticate方法自动重定向到登录失败处理程序。从那里,可以很容易地重定向和自定义失败身份验证的流程。然而,在成功登录时,除了HttpServletRequest、HttpServletResponse和身份验证对象之外

  • 我们的团队正在使用Spring boot(2.2.2)开发一个web应用程序。它使用Spring security来处理登录过程。我们希望应用程序在登录前重定向回页面(例如,用户访问)http://example.com/foo/bar - 除了应用程序偶尔指向默认页面(例如,http://example.com)而不是登录前的页面。发生这种情况时,登录前的页面似乎没有保存在会话中(根据我的队友的