认证后开始执行方法

Posted

技术标签:

【中文标题】认证后开始执行方法【英文标题】:Start method execution after authentication 【发布时间】:2019-10-21 19:24:48 【问题描述】:

我使用 Angular 作为客户端,使用 Spring Boot 作为服务器。一些提供者将在特定(获取/发布)端点中直接调用我的服务器。如果用户通过身份验证,方法的执行将正常开始,如果不是,用户被重定向到登录-ui(角度客户端),成功登录后用户被重定向到主页,但我想开始执行上一个请求(获取/发布singleSignOnServicePost )。我该如何解决这个问题?

 @PostMapping(value = ["/sso"])
    fun singleSignOnServicePost(
            request: HttpServletRequest,
            response: HttpServletResponse,
            authentication: Authentication,
            @RequestParam(value = "SAMLRequest") samlRequest: String) 
       //.......


 override fun configure(http: HttpSecurity) 
        http
                .csrf().disable()
                .exceptionHandling().authenticationEntryPoint(LoginUrlFilter("https://xxxx/login"))
                .and()
                .requestMatchers()
                .antMatchers(LOGIN_ENDPOINT_SUFFIX)
                .antMatchers(OAUTH_AUTHORIZATION_ENDPOINT_SUFFIX)
                .antMatchers(SAML_ENDPOINT_SUFFIX)
                .antMatchers(TWO_FACTOR_DEVICE_SETUP)
                .and()
                .formLogin().loginPage()(LOGIN_ENDPOINT_SUFFIX).permitAll().successHandler( authenticationSuccessHandler)



【问题讨论】:

【参考方案1】:

使用LocalStorage 存储在重定向到用户登录之前请求的端点是什么。

(或)

在服务器端创建session并将请求的端点存储在session中,然后执行authentication

使用存储在session / LocalStorage 中的值来命中端点。

【讨论】:

以上是关于认证后开始执行方法的主要内容,如果未能解决你的问题,请参考以下文章

Spring-Security:认证后调用方法

大数据问题排查系列-大数据集群开启 kerberos 认证后 HIVE 作业执行失败

站长福利,分享一下今日头条搜索引擎提交及网站认证方法。

站长福利,分享一下今日头条搜索引擎提交及网站认证方法。

框架之认证接口的源码分析及自定义接口的使用

社保卡人脸识别认证流程