로그인 및 사용자 인증이 필요한 간단한 앱을 구현하려고합니다.인증되지 않은 경우 bacbkone 라우터 리디렉션
var App = new Marionette.Application({});
App.addRegions({
headerRegion : "#nav-region",
mainRegion : "#main-region"
});
App.navigate = function(route, options){
options || (options = {});
Backbone.history.navigate(route, options);
};
App.getCurrentRoute = function(){
return Backbone.history.fragment
};
App.on("start", function(){
if(Backbone.history){
Backbone.history.start();
}
});
그리고 라우터는 모듈에 정의되어, 예를 들면 : https://github.com/davidsulc/marionette-gentle-introduction
는 일반적으로 나는 새로운 응용 프로그램을 설정 한 : 나는 백본과 꼭두각시에 새로운 오전, 나는이 튜토리얼의 예를 따르도록 시도하고있다 :
App.module("ContentManagementApp", function(ContentManagementApp, App, Backbone, Marionette, $, _){
ContentManagementApp.Router = Marionette.AppRouter.extend({
appRoutes : {
"contentmanagement/:dsid(/:dspageclassid)": "showContentMananagement",
}
});
var API = {
showContentMananagement : function(dsid, dspageclassid){
// If not set, set to frontpage
ContentManagementApp.Show.Controller.showDSPage(dsid, dspageclassid);
App.execute("set:active:header", "contentmanagement");
},
};
App.on("contentmanagement:show", function(dsid, dspageclassid){
App.navigate("contentmanagement/" + dsid + "/" + dspageclassid);
API.showContentMananagement(dsid, dspageclassid);
});
App.addInitializer(function(){
new ContentManagementApp.Router({
controller : API
});
});
});
내가 할 때 응용 프로그램이 시작 사용자가 로그인 한 경우 테스트하고 로그인 페이지로 리디렉션 싶습니다하지만 App.addInitializer 전에 호출처럼 보인다. 각 모듈에서 점검을해야한다는 뜻입니까, 아니면 어떻게 든 이해할 수 있습니까?
쿠키에 액세스 토큰을 저장하려고 했으므로 과 같은 내용이면 (Backbone.history) { var t = utils.readCookie ("cookie"); if (t == null) { this.trigger ("login : show"); } else { Backbone.history.start(); } ... – user3821383
예, app.start()를 호출하기 전에 쿠키에서 확인하십시오. – CharlieBrown