Я искал много ресурсов, но ни один не был соответствующим моим problem.I я работаю над проектом single page application (SPA)
, и я хочу, чтобы logged in user
stay logged in
всякий раз, когда он обновляет страницу нобезмаршрутизации.Как проверить подлинность зарегистрированного пользователя при обновлении одностраничного приложения с помощью AngularJS без «Маршрутизации»?
Я попытался позвонить session authentication servlet
в начало controller
страницы (этот сервлет проверяет, существует ли сессия или нет), но это не сработало.
Примечание: сеанс создается после пользователя log in
или sing up
. Вот SessionAuthServlet.java
:
HttpSession session = request.getSession(true);
User u=(User) session.getAttribute("usersession");
try{
response.setContentType("application/json; charset=UTF-8");
PrintWriter out = response.getWriter();
if(u != null)
{
out.println("{\"+success+\"}");
out.close();
}
else
{
out.println("{ \"result\": \"fail\"}");
out.close();
}
}catch (IOException e) {
e.printStackTrace();
}
MainController
в одной странице приложения HTML:
appvar.controller('MianController',['$scope','$http','$rootScope',function($scope, $http,$rootScope) {
$rootScope.sessionvalid=function(){
$http.get("http://localhost:8080/MyProject/SessionAuthServlet")
.success(function(response) {
if (response.result=="fail")
{
//***Show the view for not logged user
}
//***Show the view for logged user
}
$rootScope.sessionvalid();
});
}
}]);
Любые идеи, как бороться с этим?
Пожалуйста, руководство мне
Благодаря
использование localstorage или сеанс –