Angularjs 启动时解析用户的角度

Angularjs 启动时解析用户的角度,angularjs,angularjs-routing,Angularjs,Angularjs Routing,希望这是一个简单的 我希望在显示任何屏幕或调用任何后续服务之前,确保访问应用程序的用户已被解析 我可以通过使用第一个请求中已经存在的令牌进行HTTP REST调用来解析用户 然后将该用户传递到后续的rest调用,例如rest服务,以“获取我的工作” 我知道我可以在我的路由上使用解析功能,但为了实现这一点,我必须将其添加到每个路由中,因为我不能总是保证用户会从前门进来 我试着把它放在一个横跨整个应用程序的主控制器中,但这里的问题是首先调用路由解析,这需要用户进行REST调用 有什么想法吗 问候,,

希望这是一个简单的

我希望在显示任何屏幕或调用任何后续服务之前,确保访问应用程序的用户已被解析

我可以通过使用第一个请求中已经存在的令牌进行HTTP REST调用来解析用户

然后将该用户传递到后续的rest调用,例如rest服务,以“获取我的工作”

我知道我可以在我的路由上使用解析功能,但为了实现这一点,我必须将其添加到每个路由中,因为我不能总是保证用户会从前门进来

我试着把它放在一个横跨整个应用程序的主控制器中,但这里的问题是首先调用路由解析,这需要用户进行REST调用

有什么想法吗

问候,,
凯文。

我以前也遇到过类似的问题,我很幸运地遇到了这个示例项目

我们有两个项目

  • 其中一个具有自制的身份验证机制,由外部应用程序、服务器端凭据检查组成,然后重定向到内部应用程序
  • 另一个(非常原型)使用示例项目的概念。。。到目前为止,我更喜欢这种方法
  • 在项目A中,我们基本上做到了这一点。

    如果cookie在返回时存在(&有效),请在cookie中写入userToken。。。工作完成了。 如果没有,请登录以便我们可以创建cookie

    但我建议的路线是遵循项目B:

    你基本上需要一个临时的应用程序/状态,在那里你可以完成你的任务 初始检查,如果您的用户未通过正常登录路径进入

    我无耻地从可怕的mrgamer的angular登录示例项目中窃取了下面的图表。 他的项目可以在上找到

    文档非常冗长,应该解释整个方法的一些复杂之处

    或 我对这种方法不太熟悉(因为我还没有在成熟的应用程序中尝试过)。您可以对
    $routeChangeStart

    angular.module('angular-client-side-auth', ['ngCookies'])  
    .run(['$rootScope', '$location', 'Auth', function ($rootScope, $location, Auth) {
    
        $rootScope.$on("$routeChangeStart", function (event, next, current) {
            if (!Auth.authorize(next.access)) {
                if(Auth.isLoggedIn()) $location.path('/');
                else                  $location.path('/login');
            }
        });
    
    }]);
    

    来源于

    谢谢您的文档。如果我理解正确,基本上有一个解决用户问题的父抽象路由?所有其他的路线都会延伸吗?
    angular.module('angular-client-side-auth', ['ngCookies'])  
    .run(['$rootScope', '$location', 'Auth', function ($rootScope, $location, Auth) {
    
        $rootScope.$on("$routeChangeStart", function (event, next, current) {
            if (!Auth.authorize(next.access)) {
                if(Auth.isLoggedIn()) $location.path('/');
                else                  $location.path('/login');
            }
        });
    
    }]);