微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Spring Security 在 JSF 中使用令牌进行自定义登录

如何解决如何使用 Spring Security 在 JSF 中使用令牌进行自定义登录

我要求使用用户名和密码登录,然后根据有效凭据在他的邮件中发送令牌并要求他输入令牌。

我将 Login.xhtml 页面设置为登录页面,如下所示,但结果我是任何表单提交都转到权限过滤器而不是 bean,我需要它首先捕获托管 bean 中的操作以验证输入然后向他发送令牌并验证他的输入。

http.authorizeRequests()
            .antMatchers("/","/login.xhtml","/finance.xhtml","/WEB-INF/errorpages/**","/javax.faces.resource/**")
            .permitAll().anyRequest().fullyAuthenticated().and().formLogin().loginPage("/login.xhtml")
            .defaultSuccessUrl("/index.xhtml").failureUrl("/login.xhtml?authFailed=true").permitAll().and().logout()
            .logoutSuccessUrl("/login.xhtml").logoutUrl("/j_spring_security_logout").and().csrf().disable();

解决方法

我将 loginprocessingurl 更改为假 url 并保留登录页面,因此如果未登录,它会重定向到登录页面,然后我正在做正常的事情来验证用户身份,然后使用 authmanger 进行身份验证,它工作正常但不是最佳的,特别是我正在显式重定向到主页(不是用户正在访问的页面)***Authentication auth = authenticationManager .authenticate(new UsernamePasswordAuthenticationToken(email,token)); SecurityContextHolder.getContext().setAuthentication(auth); Faces.redirect("/index.xhtml");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。