正确的用户认证方式,使用由自耕农发电机角度搭建的角形种子

时间:2014-02-24 07:13:46

标签: javascript angularjs authentication

场合

我使用yeoman生成器angularjs搭建应用程序,从而为我提供了一个干净的目录结构和框架结构。我只是在学习angularjs,使用自耕农是一种更干净的做事方式,而且几乎可以实现soc。

现在我遇到了服务和工厂等问题,我目前正在处理用户身份验证。

基本上

我目前有两条路线,一条是/,另一条是/secured。我进行了设置,以便我可以真正开始使用身份验证。

我发现了这篇关于authenticating a user的文章。我发现它真的很有趣,而且我认为我可以以某种方式理解它,而且我真的理解它,但我想我无法理解应该如何使用工厂和服务的一些基础知识。

我目前拥有什么

首先,我没有后端服务,因为应用程序正确启动并且现在不需要编写服务,我可以编写一个简单的PHP脚本,返回401状态或{{ 1}},但现在不需要,我想先在客户端工作。

在我的200文件中

app.coffee

在文章中,它说创建一个检查用户是否登录的函数,并在codebase中在angular.module('myApp', [ 'ngCookies', 'ngResource', 'ngSanitize', 'ngRoute' ]) .config ($routeProvider) -> $routeProvider .when '/', templateUrl: 'views/home.html' controller: 'HomeCtrl' .when '/secured', templateUrl: 'views/secured.html' controller: 'SecuredCtrl' resolve: loggedin: checkLoggedin // this is the wrong one .otherwise redirectTo: '/' .config ($httpProvider) -> $httpProvider.interceptors.push('httpInterceptor') 方法中创建了该函数。顺便说一下,他没有使用自耕农,所以对我来说几乎让事情变得复杂。

我认为检查登录状态是工厂或服务的工作,所以我想为此写一个因素

config

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用awesome angular-http-auth模块 - https://github.com/witoldsz/angular-http-auth

您需要做的就是在应用控制器级别监听事件'auth-loginRequired',然后显示登录屏幕。

我所做的(不是最好的方法)是在我的app控制器中监听此事件并重定向到登录路线 -

$scope.$on('event:auth-loginRequired', function() {
    $location.path('/login');
});