2017-01-23 72 views
0

我在我的应用程序中使用Auth0来检查(在模板中)用户是否已通过身份验证。喜欢的东西:angularJS有条件地重定向用户

<div ng-if="isAuthenticated" id="grid1" ui-grid="gridOptions" ui-grid-importer class="grid" ui-grid-resize-columns ui-grid-move-columns ui-grid-auto-resize ui-grid-selection ui-grid-cellNav ui-grid-paging myscroller></div> 
<div ng-if="!isAuthenticated"> 
    <p>You will be redirected because you are not authenticated</p> 
</div> 
!isAuthenticated部分

,我怎么可以从HTML内将用户重定向?有没有办法?

我以前见过类似这样的东西:<meta http-equiv="refresh" content="2; URL=http://www.redirectedsite.com">但这似乎并不适用,因为它是一个元标记。

回答

1

可以在控制器使用ngInit

<div ng-if="isAuthenticated" id="grid1" ui-grid="gridOptions" ui-grid-importer class="grid" ui-grid-resize-columns ui-grid-move-columns ui-grid-auto-resize ui-grid-selection ui-grid-cellNav ui-grid-paging myscroller></div> 
<div ng-if="!isAuthenticated"> 
    <p ng-init="redirect()">You will be redirected because you are not authenticated</p> 
</div> 

$scope.redirect = function() { 
    // redirecting in 1 sec... 
    $timeout(function() { 
     $location.path('/login'); 
    }, 1000); 
}