@H_404_4@
我有一个有角度的项目.如果我在网址中键入“仪表板”,则会重定向到“dashboard.html”页面.但我想限制用户进入该页面而未成功登录.
在我的路由代码下面请检查.
index.js
angular.module('adminsuite',['ui.router','ngCookies']).config(function($stateProvider,$urlRouterProvider) { $urlRouterProvider.otherwise('/'); $stateProvider .state('login',{ url: '/',views:{ pageContent:{ templateUrl: 'Login/login.html',controller: 'loginController' },footer:{ templateUrl: 'common/footer.html',controller: 'footerController' } } }) // HOME STATES AND NESTED VIEWS ======================================== .state('dashboard',{ url: '/dashboard',views:{ header:{ templateUrl: 'common/header.html',controller: 'headerController' },pageContent:{ templateUrl: 'dashboard/dashboard.html',controller: 'dashboardController' },controller: 'footerController' } } }) //SURVEY STATES .state('survey',{ url: '/survey',views:{ header:{ templateUrl: 'common/headerTool.html',pageContent:{ templateUrl: 'survey/survey.html',controller: 'surveyController' },controller: 'footerController' } } }); // ABOUT PAGE AND MULTIPLE NAMED VIEWS ================================= });@H_404_4@
解决方法
如果用户成功登录,则在$rootscope中的loginController存储值中.
if(userloggedin == true ) { $rootscope.loggedinuser = true }
在您的dashboardController中从$rootscope获取值并检查$rootscope.loggedinuser是否等于true然后dasboard.html页面将显示否则页面重定向到登录页面.
在您的dashboardController中
if($rootscope.loggedinuser !=true) { $state.go('login'); }@H_404_4@ @H_404_4@