Tôi có một ứng dụng AngularJS được tạo bằng cách sử dụng yeoman, grunt và bower.
Tôi có một trang đăng nhập có bộ điều khiển kiểm tra xác thực. Nếu thông tin đăng nhập đúng, tôi định tuyến lại trang chủ.
app.js
'use strict';
//Define Routing for app
angular.module('myApp', []).config(['$routeProvider', '$locationProvider',
function($routeProvider,$locationProvider) {
$routeProvider
.when('/login', {
templateUrl: 'login.html',
controller: 'LoginController'
})
.when('/register', {
templateUrl: 'register.html',
controller: 'RegisterController'
})
.when('/forgotPassword', {
templateUrl: 'forgotpassword.html',
controller: 'forgotController'
})
.when('/home', {
templateUrl: 'views/home.html',
controller: 'homeController'
})
.otherwise({
redirectTo: '/login'
});
// $locationProvider.html5Mode(true); //Remove the '#' from URL.
}]);
angular.module('myApp').factory("page", function($rootScope){
var page={};
var user={};
page.setPage=function(title,bodyClass){
$rootScope.pageTitle = title;
$rootScope.bodylayout=bodyClass;
};
page.setUser=function(user){
$rootScope.user=user;
}
return page;
});
Đăng nhậpControler.js
'use strict';
angular.module('myApp').controller('LoginController', function($scope, $location, $window,page) {
page.setPage("Login","login-layout");
$scope.user = {};
$scope.loginUser=function()
{
var username=$scope.user.name;
var password=$scope.user.password;
if(username=="admin" && password=="admin123")
{
page.setUser($scope.user);
$location.path( "/home" );
}
else
{
$scope.message="Error";
$scope.messagecolor="alert alert-danger";
}
}
});
Trên trang chủ tôi có
<span class="user-info">
<small>Welcome,</small>
{{user.name}}
</span>
<span class="logout"><a href="" ng-click="logoutUser()">Logout</a></span>
Trong phần loginController
, tôi kiểm tra thông tin đăng nhập và nếu thành công, tôi đặt đối tượng người dùng trong nhà máy dịch vụ. Tôi không biết điều này có đúng hay không.
Điều tôi cần là, Khi người dùng đăng nhập, Nó đặt một số giá trị trong đối tượng người dùng để tất cả các trang khác có thể nhận được giá trị đó.
Bất cứ khi nào có thay đổi tuyến đường xảy ra, bộ điều khiển nên kiểm tra xem người dùng có đăng nhập hay không. Nếu không, nó sẽ định tuyến lại đến trang đăng nhập. Ngoài ra, nếu người dùng đã đăng nhập và quay lại trang, nó sẽ đi đến trang chủ. Bộ điều khiển cũng nên kiểm tra thông tin đăng nhập trên tất cả các tuyến.
Tôi đã nghe nói về ng-cookies, nhưng tôi không biết cách sử dụng chúng.
Nhiều ví dụ tôi thấy không rõ ràng lắm và họ sử dụng một số loại vai trò truy cập hoặc một cái gì đó. Tôi không muốn điều đó. Tôi chỉ muốn một bộ lọc đăng nhập. Ai đó có thể cho tôi một số ý tưởng?