在应用程序中,我应该确保特定的用户角色,无法看到为其他用户角色设计的某些组件实现(管理员必须查看所有内容,用户不应该看到管理员特定的内容)。
最佳做法是什么?
目前的解决方案:
在我的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
个文件。而不是单Main
个模块入口点有MainAdmin
和MainUser
,而MainUser
没有注入AdminSpecificComponentsModule
。
每个用户角色都拥有自己的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
角色的捆绑包。
使用该技术堆栈是否有更聪明的方法来做这样的事情?
提前致谢