Express 环回保护路由/确保登录
在使用环回渲染视图之前,如何确保用户已登录? 我可以用我的angular应用程序在前端登录。但我想阻止匿名用户查看该页面 我以为它会是一个header,类似headers.authorization\u令牌,但它似乎不在那里Express 环回保护路由/确保登录,express,token,strongloop,loopbackjs,Express,Token,Strongloop,Loopbackjs,在使用环回渲染视图之前,如何确保用户已登录? 我可以用我的angular应用程序在前端登录。但我想阻止匿名用户查看该页面 我以为它会是一个header,类似headers.authorization\u令牌,但它似乎不在那里 我正在寻找类似connect ensurelogin for passport的东西,而不必使用passport。这里有一种可能的方法对我有效(细节可能会有所不同): 在单页Angular应用程序中设计每个页面,以便在解析Angular路由时在一次REST API调用时进行
我正在寻找类似connect ensurelogin for passport的东西,而不必使用passport。这里有一种可能的方法对我有效(细节可能会有所不同):
这是环回访问控制示例:这是解决您问题的$interceptor 此代码检测来自环回REST服务器的401个响应(用户未登录或访问令牌已过期),并将用户重定向到登录页面:
// Inside app config block
$httpProvider.interceptors.push(function($q, $location) {
return {
responseError: function(rejection) {
if (rejection.status == 401) {
$location.nextAfterLogin = $location.path();
$location.path('/login');
}
return $q.reject(rejection);
}
};
});
一旦用户登录,此代码将重定向到请求的页面
// In the Login controller
User.login($scope.credentials, function() {
var next = $location.nextAfterLogin || '/';
$location.nextAfterLogin = null;
$location.path(next);
});