ページ全体でセッションを維持したいと思います。このプロジェクトでは、サーバー側としてexpressJs、nodeJSを使用しています。フロントエンドの AngularJS。
ビューの変更または URL の変更時にセッションを処理する方法がわかりません。ExpressJS router または angularJs routerの両方を処理する必要があるためです。
どのようなアプローチに従うべきですか?
angularJS ルーター
myApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/welcome', {templateUrl: 'partials/welcome.html', controller: 'MyCtrl2'});
$routeProvider.when('/login', {templateUrl: 'partials/login.html', controller: 'MyCtrl2'});
$routeProvider.when('/signup', {templateUrl: 'partials/signup.html', controller: 'singupController'});
$routeProvider.otherwise({redirectTo: '/'});
}]);
サインアップ コントローラー
myApp.controller('singupController',function($scope,$rootScope,$http){
$scope.doSingnup = function() {
var formData = {
'username' : this.username,
'password' : this.password,
'email' : null
};
var jdata = JSON.stringify(formData);
$http({method:'POST',url:'/signup',data:jdata})
.success(function(data,status,headers,config){
console.log(data);
}).
error(function(data,status,headers,config){
console.log(data)
});
}
})
ExpressJS ルーター
module.exports = exports = function(app, db) {
var sessionHandler = new SessionHandler(db);
var contentHandler = new ContentHandler(db);
// Middleware to see if a user is logged in
app.use(sessionHandler.isLoggedInMiddleware);
app.get('/', contentHandler.displayMainPage);
app.post('/login', sessionHandler.handleLoginRequest);
app.get('/logout', sessionHandler.displayLogoutPage);
app.get("/welcome", sessionHandler.displayWelcomePage);
app.post('/signup', sessionHandler.handleSignup);
app.get('*', contentHandler.displayMainPage);
// Error handling middleware
app.use(ErrorHandler);
}
サインアップ後、ログインページにリダイレクトしたいと思います。上記のルーターでそれを行うにはどうすればよいですか。アプリのビューを変更するには、次のどれを使用する必要がありますか
1) angularJS の $location
2) ExpressJS のリダイレクト