meteor中的子域支持(与slack一样 - http://team.slack.com)
由于松弛,我的应用程序用户可以创建自己的子域(唯一),并根据子域应该加载数据,并在此周围应用程序将继续。我可以使用像http://slack.com?team=TeamName这样的东西,但我认为子域会更干净,更好。
任何建议/指示。
感谢。
答案 0 :(得分:11)
使用DNS通配符将* .example.com指向我的应用服务器,我在客户端代码中有这个:
var hostnameArray = document.location.hostname.split( "." );
if ( hostnameArray[1] === "example" && hostnameArray[2] === "com" ) {
var subdomain = hostnameArray[0];
}
if ( subdomain ) {
Meteor.call( "findTeamBySubdomain", subdomain, function (err, res) {
var teamId = res;
if ( teamId )
Session.set( "teamId", teamId );
}
});
}
Tracker.autorun ( function () {
Meteor.subscribe( "teamInfo", Session.get( "teamId" ) );
});
确保当前登录的用户有权查看teamId
发布记录。任何人都可以调整他们的会话并说“我属于这个团队。”你需要确保他们真的被允许。