成功登录后返回到angular页面
Going back to angular page after successful login?
我正在开发一个具有用户身份验证的Angular应用程序。
我不负责认证的后端。
这个项目目前有一个端点,我点击它来访问单独托管的登录页面。
事情是这样的。
(这些是示例名称)
我们的主web应用程序有一个链接,如https://node11.dev.com/webappname
这个webapp的用户登录是
https://node11.dev.com: 8082/api/应用程序/webappname/用户/登录/
当你到达那个端点时,你得到
https://node3.dev.com/cas/login?service =指向它被重定向的端点的链接以及JSessionId
非常确定我们正在使用Spring + CAS Web Security。
我用我的用户名和密码登录,但是成功登录后,我只是返回到一个空白页面,url
https://node11.dev.com: 8082/api/应用程序/user/登录。
我需要重定向回主应用程序页面,随着启用注销和什么不是。
我该怎么做?
一些相关的代码。
这是在UI上的登录按钮所在的导航HTML中。
<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 POST到那个url,让angular验证登录是否成功(通过服务器响应)。然后,你可以使用任何路由器(ui-router是一个流行但令人沮丧的解决方案)从angular中调用登录状态。
解决这个问题的最好方法是在APP中使用switch case,最初将switch的值设为false,在成功登录或从服务器响应后将switch的值设为true。
<div ng-switch on="loginData" > <!-- begin switch -->
<div ng-switch-when="false" ng-controller="loginController" ng-init="initLogin()">
</div>
<div ng-switch-when="true" ng-controller="dataController">
</div>
</div>
另一个解
在你的应用中使用路由使用ng-bindingdiv
var module = angular.module("SalesApp", ['ngRoute']);
module.config(['$routeProvider','$locationProvider','$httpProvider',
function($routeProvider) {
// var dir = window.location.pathname;
$routeProvider.
when('/dashboard', {
templateUrl: 'frontView.html',
}).
when('/searchresult', {
templateUrl: 'resultContainer.html',
}).
when('/postad', {
templateUrl: 'postAd.html',
}).
otherwise({
redirectTo: '/dashboard'
});
}]);
和登录后只需更改div的根。
$location.path(pagePath);
在很大程度上都适合我谢谢。
这个问题最终得到了解决。基于我们应用程序的设计,我无法从前端修复它。在后端,他们必须将CAS重定向url更改回原始应用url。
- 使用angular重定向到html页面
- Angular js http get返回所有页面
- Angular UI-GRID未在页面上显示网格
- 如何在Angular js中集成其他页面中的样式
- Angular 2中同一页面的多个路由名称
- 如何在页面加载angular js上设置从ajax调用中选择的选项
- 从C#应用程序向Angular页面发送帖子请求
- 如何从 Mongo DB 中删除 Angular 页面中的选定文档
- 在Angular中路由到非Angular页面
- 把Json放到web angular页面中
- 成功登录后返回到angular页面
- 在Protractor中处理非angular页面
- 如何在Angular页面中显示一个非$scope变量?
- 在angular页面刷新时发生了什么?为什么我的登录用户不能被识别?
- Angular页面标题不解析unicode
- 量角器,登录到asp,net MVC登录页面,等待默认页面,然后重定向到angular页面并做测试…
- 为什么我得到的“服务没有定义”?angular页面中的错误信息
- Angular页面步骤没有更新模型
- 在浏览器中更改URL参数会刷新Angular页面
- $locationProvider在我的Angular页面中不起作用