所以我正在开发一个具有用户身份验证功能的 Angular 应用程序。
我不对身份验证的后端负责。
该项目当前有一个端点,我可以点击该端点来访问单独托管的登录页面。
事情是这样的。
(这些是示例名称)
我们的主网络应用程序有一个类似 https://node11.dev.com/webappname 的链接
此网络应用程序的用户登录成功
https://node11.dev.com:8082/api/applications/webappname/user/login/
当你到达那个端点时,你会得到
https://node3.dev.com/cas/login?service = 指向它重定向的端点的链接以及 JSessionId
很确定我们正在使用 Spring + CAS Web Security。
我使用用户名和密码登录正常,但是成功登录后,我只是返回到带有该网址的空白页面
https://node11.dev.com:8082/api/applications/user/login 。
我需要重定向回主应用程序页面,并启用注销等功能。
我该如何解决这个问题?
一些相关的代码。
这是在导航 HTML 中,此登录按钮位于 UI 上。
<a class="user" href="https://node17.catapult.dev.boozallenet.com:8082/api/applications/godzilla/login"><i class="fa fa-user"></i> Login <i class="fa fa-caret-down"></i></a>
以前我没有使用 href,而是使用了 ng-click,因为我觉得我可能必须使用 POST 或 GET。
当我使用 ng-click 时,它调用了一个函数 goToLogin,这就是该函数的作用。
function goToLogin(){
$window.location.href=url;
}
最佳答案
您是在获取还是发布?您可能应该使用 ajax 发布到该 url,并让 Angular 验证登录是否成功(通过服务器响应)。然后,您可以使用任何路由器(ui-router 是一种流行但令人沮丧的解决方案)从 Angular 调用登录状态。
关于javascript - 登录成功后返回 Angular 页面吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32702361/