Javascript 如果用户想要访问angular meteor中需要登录验证的特定页面,如何重定向到404页面
我用的是角流星 我有一个需要登录验证的页面 e、 g: 我想将用户重定向到:如果他没有登录并试图访问该受限页面 这是我的路由文件:Javascript 如果用户想要访问angular meteor中需要登录验证的特定页面,如何重定向到404页面,javascript,angularjs,redirect,meteor,angular-meteor,Javascript,Angularjs,Redirect,Meteor,Angular Meteor,我用的是角流星 我有一个需要登录验证的页面 e、 g: 我想将用户重定向到:如果他没有登录并试图访问该受限页面 这是我的路由文件: app.config(function($stateProvider, $urlRouterProvider, $locationProvider) { $urlRouterProvider.otherwise("/"); $stateProvider .state('verifyPhone', { url: "/verify
app.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
.state('verifyPhone', {
url: "/verifyPhone",
templateUrl: "client/www/views/verifyPhone.html",
controller: "SMSVerificationController"
});
$locationProvider.html5Mode(true);
});
如何在此处设置重定向?您可以使用该对象声明对的依赖关系:
app.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
.state('verifyPhone', {
url: "/verifyPhone",
templateUrl: "client/www/views/verifyPhone.html",
controller: "SMSVerificationController",
resolve: {
"currentUser": function ($meteor) {
return $meteor.requireUser();
}
}
});
$locationProvider.html5Mode(true);
});
之后,您需要捕获
requireUser
promise错误,并将用户重定向到404页面:
app.run(function ($rootScope, $state) {
$rootScope.$on('$stateChangeError', function (event, toState, toParams, fromState, fromParams, error) {
if (error === 'AUTH_REQUIRED') $state.go('404');
});
});