Я пытаюсь создать систему входа, но я хочу, чтобы сеанс можно было взять из кода PHP. Если вход в систему равен false
или null
, он будет перенаправлен на страницу входа. Вот мой запустить AngularJS код:Как получить сеанс из PHP в AngularJS для перенаправления
app.run(["$rootScope", 'adminService', '$location', function($rootScope, adminService, $location) {
$rootScope.$on("$routeChangeStart", function() {
$location.path('/login');
});
}]);
код маршрутизации:
app.config(function($routeProvider){
$routeProvider.when('/', {
templateUrl: 'welcome.html'
}).when('/administrator', {
templateUrl: './part/administrator.html',
controller: 'adminPageControl'
}).when('/administrator/:id_admin', {
templateUrl: './part/addit-administrator.html',
}).when('/alternatif', {
templateUrl: './part/alternatif.html',
controller: 'alternatifPageControl'
}).when('/alternatif/:id_alternatif', {
templateUrl: './part/addit-alternatif.html'
}).when('/skala', {
templateUrl: './part/skala.html',
controller: 'skalaPageControl'
}).when('/skala/:id_skala', {
templateUrl: './part/addit-skala.html'
}).when('/kriteria', {
templateUrl: './part/kriteria.html',
controller: 'kriteriaPageControl'
}).when('/kriteria/:id_kriteria', {
templateUrl: './part/addit-kriteria.html'
}).when('/klasifikasi', {
templateUrl: './part/klasifikasi.html',
controller: 'klasifikasiPageControl'
}).when('/klasifikasi/:id_klasifikasi', {
templateUrl: './part/addit-klasifikasi.html'
}).when('/analisis', {
templateUrl: './part/topsis.php',
controller: 'analisisPageControl'
}).when('/login', {
templateUrl: './login.html'
}).when('/logout', {
template: 'logout'
}).otherwise({
redirectTo: '/'
});
});
PHP код функции сеанса:
function logincheck(){
return $_SESSION['authid'];
}
logincheck();
Вы должны создать уникальный маркер сеанса в вашем внутреннем интерфейсе без разбора состояния PHP-Session непосредственно в ваш клиент , Помните, что AngularJS предназначен для SPA. Таким образом, ваш клиент связывается с бэкэнд с помощью API. Например, RESTful API. После того, как пользователь выполнил вход через клиент, верните уникальный токен сеанса клиенту. Поместите и подтвердите этот токен на любой защищенный HTTP-запрос данных. Взгляните на управление OAuth, это то же самое. – lin
Как сделать токен? –
Например '$ token = md5 ('what-ever-you-want');' – lin