Angular 2 服务器端重定向

Angular 2 Server side redirect

我正在学习 angular 2. 我正在尝试在 angular + spring 中申请。

在传统的J2EE MVC 应用程序中,客户端发送请求,服务器处理它并重定向到另一个页面。重定向到另一个页面的决定是在服务器端做出的。

在angular中,我创建了一个登录页面。提交表格后,我可以将 SUCCESS/FAIL 回复发送给客户。但我只想从服务器重定向到登录成功页面,而不是 angular 类型脚本(客户端)重定向到另一个存在安全问题的组件。

谁能帮我解决这个问题?

在 angular 中定义一个服务,一旦表单将数据传递给服务中的函数,它就会发送一个 POST 请求。服务变成 success/fail 返回并在客户端 (Angular) 端重新路由以显示成功端或失败时在登录页面中显示错误。

所有 API 调用必须确保例如通过会话 cookie,用户仍处于登录状态。由于无论如何都必须确保 api 调用的安全,因此 angular2/4 单个页面可以单独执行其路由魔术。

我理解您担心的是用户可以 运行 javascript 编码并使登录成功并转到主页。但是对于每个后续的获取数据的请求都将被发送到您将验证会话的服务器。由于用户未登录,he/she 无法取回数据。因此,如果不在服务器端注册会话,他们将无能为力。

简而言之,登录客户端后重定向到主页不构成安全威胁。

要回答您的问题,您需要同时拥有 jsp 和 angular 。在 index.jsp 里面有一个会话检查,它重定向到登录页面。成功后,服务器将允许显示angular代码。