如果用户想访问特定的页面,需要在angular流星中进行登录验证,如何重定向到404页面
How to redirect to 404 page if user wants to access a specific page which requires login authentication in angular-meteor
我使用的是Angular Meteor。
我有一个需要登录身份验证的页面。
例如:http://localhost:3000/verifyPhone
我想将用户重定向到:http://localhost:3000/404如果他没有登录并试图访问该受限页面。
这是我的路线文件:
app.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
.state('verifyPhone', {
url: "/verifyPhone",
templateUrl: "client/www/views/verifyPhone.html",
controller: "SMSVerificationController"
});
$locationProvider.html5Mode(true);
});
如何在此处执行重定向?
您可以使用resolve
对象来声明对requireUser()
的依赖关系:
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');
});
});
相关文章:
- 用户登录时的流星事件
- 流星用户帐户和alanning流星角色-登录时检查角色
- 流星在登录后重新提交登录表
- 流星 - 添加带有熨斗的路由后无法提交用户.路由器到登录和注册表单
- 数据don't登录流星后加载
- 流星如何保存登录状态
- 执行流星重置时,登录用户的应用程序页面冻结
- 用户登录后流星重新渲染模板
- 解锁流星注销并登录
- 流星:谷歌登录不'不能在iphone/ipad上工作
- 简单的用户登录流星,这样安全吗
- 如果用户想访问特定的页面,需要在angular流星中进行登录验证,如何重定向到404页面
- 如何创建一个登录系统与流星
- 流星服务器无需登录即可插入数据
- 流星-在发布模板之前检查登录状态
- 流星登录通过第三方库
- 流星异步登录问题
- 流星路由器-我如何检测当前路由是否需要用户登录
- 流星账户-登录表单更改HTML删除下拉JS
- 流星有铁路由器和登录按钮