我有authenticated
路由,其中包含动态细分:slug
,用作单独组织的简称。每个组织内都有个人和团体。不同的组织可能具有相同的individual IDs
和group IDs
。
因此,网址/bigcompany/s/individual/1
和/smallcompany/s/individual/1
都有效,并且会将您带到ID = 1的个人中。
router.js
Router.map(function() {
this.route('authenticated', { path: '/:slug' }, function() {
this.resource('individual', { path: 's/individual/:id' }, function() {
...
});
this.resource('groups', { path: 's/groups' }, function() {
this.route('group', { path: ':id' });
});
});
this.route('login', { path: ':slug/s/login' });
});
从/bigcompany/s/login
登录后,我需要/bigcompany/s/individual/1
并为该个人加载模型。
问题是,我可以直接将浏览器中的网址从bigcompany
更改为smallcompany
,然后继续加载/smallcompany/s/individual/1
的模型。
如果用户直接将浏览器中的网址编辑为其他:slug
,则会将用户从原始:slug
中删除并加载新的{的登录页面{1}}?
答案 0 :(得分:1)
我最终使用JavaScript API来处理名为JavaScript Cookie的浏览器Cookie。当用户登录到一个组织时,我打电话
`Cookies.set('slug', credentials.slug);`
然后在authenticated
路线中,我检查网址中的当前:slug
是否与slug
Cookie匹配。
如果用户切换到URL中的其他:slug
,则会将用户注销,转换到新:slug
的登录页面,然后删除slug
Cookie。< / p>