在应用程序中,我应该确保特定的用户角色看不到某些为其他用户角色设计的组件实现(管理员必须看到所有内容,而用户不应该看到管理员特定的东西)。
最好的做法是什么?
当前解决方案:
在我的asp.net mvc
应用程序中,我有systemjs.config.js
指向Main
引导整个angular2
应用程序的角度模块的文件。
packages: {
app: {
main: './main.js',
defaultExtension: 'js'
},
我确实有模块:
AdminModule
UserModule
SharedModule
AdminSpecificComponentsModule
我不想User
看到AdminSpecificComponentsModule
. html模板、js...
所以我使用2个systemjs.config.js
文件。而不是具有 2和的单个Main
模块入口点,其中不注入.MainAdmin
MainUser
MainUser
AdminSpecificComponentsModule
每个用户角色都有 int 自己的MVC View/Controller
(称为工作场所),在适当的地方systemjs.config.js
被引用。
<script src="../user-systemjs.config.js"></script>
<script>
System.import('app').catch(function(err){ console.error(err); });
</script>
<user-app></user-app>
和
<script src="../admin-systemjs.config.js"></script>
<script>
System.import('app').catch(function(err){ console.error(err); });
</script>
<admin-app></admin-app>
在生产环境中,我们必须为每个用户角色分别绑定 JS、HTML,并确保User
不能为Admin
角色提供捆绑包。
使用该技术堆栈是否有更聪明的方法来做这样的事情?
提前致谢