spring boot 重定向到页面登录

Posted

技术标签:

【中文标题】spring boot 重定向到页面登录【英文标题】:spring boot redirect to page login 【发布时间】:2016-09-12 01:35:36 【问题描述】:

我有一个使用 spring boot 和 angularjs 开发的应用程序, 我正在使用 spring security 来保护我的应用程序,但是 我不知道如何将任何成员重定向到页面 未连接时登录: 例如我有这个rest api:

http://localhost:8080/user

但是当我使用这个应用程序时,结果是

如何将我重定向到此页面

http://localhost:8080/app/login

【问题讨论】:

查看你的日志,因为你需要插入一个与spring security相关的密码,然后你就可以正常执行你的rest api了 感谢您的回复,但我的问题是如果我没有连接,如何将我重定向到localhost:8080/app/login 我告诉过你,因为我已经在 spring boot 和安全方面遇到了同样的问题,所以我必须从日志中设置密码,一个自动生成的 20-24 个字符的密码,然后我能够与应用程序正常工作并将被重定向。 使用这个解决方案解决了:@Override protected void configure(HttpSecurity http) throws Exception http.csrf().disable() .exceptionHandling().authenticationEntryPoint(new LoginUrlAuthenticationEntryPoint("/login")).accessDeniedPage("/accessDenied") .and() .authorizeRequests() .... 【参考方案1】:
private final RedirectStrategy redirectStrategy = new DefaultRedirectStrategy();
redirectStrategy.sendRedirect(request, response, "/login/");

【讨论】:

能否请您也添加解释? 当未经授权的用户试图进入应用程序时,Spring Security 应该抛出异常。配置的时候需要设置一个异常处理器来处理这些异常:java http.exceptionHandling().authenticationEntryPoint((request, response, e) -> if (request.getRequestURI().contains("api/")) response.sendError(HttpStatus.SC_UNAUTHORIZED); else redirectStrategy.sendRedirect(request, response, "/login/"); );

以上是关于spring boot 重定向到页面登录的主要内容,如果未能解决你的问题,请参考以下文章

执行登录保存请求后,Spring Boot Security POST 重定向到登录页面

Spring Boot 安全性 403 重定向

Spring Boot、Spring Security 指定重定向登录 url

登录后 Spring Boot 重定向到请求的 URL

重定向到页面一定次数 - Spring Boot

Spring登录后如何重定向到请求的页面?