项目需求得到如下上下文 : 媒体管理 / 论坛 / 电子书
这3个都需要用户权限管理,这时候当然最好的是有个rbac系统,但单独开发它很耗时,我就采用了共享内核。这个内核就是 user ,很小,只有一个user aggre
// user实体
function User(uid, email, username, password) {}
<p class="indent">
|
其他上下文可直接使用它
// ebookDomain是电子书上下文
// 把userDomain作为子域注册到ebookDomain
ebookDomain.register("domains",{userDomain:userDomain}).seal();
// forumDomain 是论坛上下文
// 把userDomain作为子域注册到forumDomain
forumnDomain.register("domains",{userDomain:userDomain}).seal();
<p class="indent">
|
这样就完成了user内核共享,例如在论坛上下文内部的调用
// 在事件监听器里的代码
listen.eventName = "userDomain User.*.create";
function listen( userInfo ){
// 这里可以创建自身上下文的user,你懂的。
// 但这种实现好像优于“共享内核”的概念了,呵呵。因为属于监听了内核事件,而做出相应反应,嘎嘎。
var userRepo = my.repos.User; // 这是 forum 上下文的User概念
userRepo.create(userInfo).then(function(){ ... })
}
<p class="indent">
|
好了,说到这里了,我得赶紧完成这一套项目。
[该贴被brighthas于2014-04-15 09:55修改过]