我有一个我需要保护的角度应用程序。我们的组织中有一个中央SSO应用程序。 此中央应用程序提供登录页面,并在验证用户身份后设置cookie。
现在我需要将用户从我的角度应用程序重定向到此中央登录页面,以防身份验证cookie丢失/过期。
有人可以帮忙,如何使用角度路由重定向到其他页面?似乎角度总是仅相对于基本网址重定向。
我还尝试使用spring mvc和security限制从服务器端访问index.html,但我无法设置映射以显示index.html文件(在web-inf之外)来自调度程序servlet。
答案 0 :(得分:3)
angular的路由用于页面内的路由。
使用原生location.href
。
答案 1 :(得分:1)
听起来你正在尝试使用部分AngularJS页面和部分Spring MVC Web应用程序。我也试过这个,但事情并没有那么顺利。
如果您想使用AngularJS构建Web应用程序,我建议您完全使用AngularJS作为单页Web应用程序,并将Spring MVC用作由Spring Security保护的RESTful Web服务。
阅读这篇文章:restful-web-service-with-spring-security
自定义AuthenticationEntryPoint必须返回HTTP状态,AngularJS将在$ http.success或$ http.error中进一步处理该状态。在$ http.error的情况下,你强迫用户进入登录页面,例如$ location.url(" / login");
要将所有$ http.error指向登录页面,您可以使用AngularJS http interceptors。
注意:您应该通过从http永久重定向到https来保护整个Web应用程序在Web服务器级别上的安全。示例:Apache HTTPD