0
私の角度のアプリケーションで状態を認証します。利用可能なリソースは複雑すぎるため、なぜ私は理解できません。角度jsの状態を認証する方法
私のシンプルなロジックは、変数
$rootScope.is_authenticated = true
を設定し、状態変数が真であるかどうかを確認するためにロードされるたびにチェックすることです。
私はこれをどのように達成でき、なぜログインと認証が複雑になるのでしょうか。
私AuthCtrl
//login
$scope.login = function(user){
console.log(user);
$http({
method : "POST",
url : "myapi.com/login",
data : user
}).then(function mySucces(response) {
$scope.data = response.data;
$rootScope.is_authenticated = true;
$state.go('dashbooard');
}, function myError(response) {
$scope.error = response.statusText;
$rootScope.is_authenticated = false;
});
}
ログアウト機能
$scope.logout = function(){
$rootScope.is_authenticated = false;
$state.go('auth');
}
の私のconfigファイル
.config(function($stateProvider,$urlRouterProvider) {
$stateProvider
.state('auth', {
url: '/auth',
templateUrl: 'partials/auth.html',
controller: 'AuthCtrl'
})
.state('dashboard', {
url: '/dashboard',
templateUrl: 'partials/dashboard.html',
controller: 'DashboardCtrl',
resolve:{
check: function($rootScope, $state){
if($rootScope.is_authenticated == true){
return true;
}
else{
$state.go('auth');
}
}
}
})
$urlRouterProvider
.otherwise("/auth");
ログイン機能私は解決、私の状態に別のプロパティを追加しました。今の状態は、ユーザーがログインしている場合は、これは正しい方法です。アクセスしていない場合は、何することができ、私はの角度の実行やサービスメソッドを作成することによって、ログイン、認証を達成している
ページが更新される場合は、ユーザーまたは認証を保持するにはどうすればよいですか? –
ページが更新される、またはURLをコピー&ペースト新しいタブにある: '場合(AuthService.isLoggedIn()){ AuthService.getLoggedInUser()、その後(機能(応答、状態){' このコード。 – Aks1357
私はコードを更新しました。私のために働いています。正しい方法があるかどうかを確認できますか? –