방금 AngularJS
앱을 개발하기 시작했습니다. 모든 것이 잘 진행되고 있지만 로그인하지 않은 경우 사용자가 해당 경로로 이동할 수 없도록 경로를 보호해야합니다. 서비스 측면에서 보호의 중요성 또한 내가 돌볼 것입니다.AngularJS : 사용자가 권한이 있는지에 따라 angularjs가있는 경로를 보호 하시겠습니까?
, 하나는 사용하는 것 같다하여 app.js
에서 .run
에서 내가 이것을 넣어해야합니까
$scope.$watch(
function() {
return $location.path();
},
function(newValue, oldValue) {
if ($scope.loggedIn == false && newValue != '/login') {
$location.path('/login');
}
}
);
을, 다음?
그리고 나는 지시어를 사용하고에 사용 발견 다른 방법 - routechagestart
정보] 여기 http://blog.brunoscopelliti.com/deal-with-users-authentication-in-an-angularjs-web-app
정말 권장되는 방법에 anyones에 도움과 피드백에 관심이있을 것입니다. Access
가 해결되지 않을 경우,
angular.config(["$routeProvider",
function($routeProvider) {
"use strict";
$routeProvider
.when("/forbidden", {
/* ... */
})
.when("/signin", {
/* ... */
resolve: {
access: ["Access", function(Access) { return Access.isAnonymous(); }],
}
})
.when("/home", {
/* ... */
resolve: {
access: ["Access", function(Access) { return Access.isAuthenticated(); }],
}
})
.when("/admin", {
/* ... */
resolve: {
access: ["Access", function(Access) { return Access.hasRole("ADMIN"); }],
}
})
.otherwise({
redirectTo: "/home"
});
}]);
이 방법 :
http://www.egghead.io/ (무료) 비디오 27-> 39는 전체 라우팅 정보를 설명합니다. 도움이 될 것입니다. 가장 가까운 비디오는 Resolve (35) – Utopik
입니다. Thanks Utopik, 그렇습니다. 나는 이미 그것을 보았습니다. 위의 작업을 수행하는 데 권장되는 방법에 대한 정보를 찾고 있다고 생각합니다. – Martin