我在开发一个 vb.net winforms 应用程序,目前我们使用简单的角色来确保安全。我们根据当前用户是否具有所需的角色来启用/禁用特定控件。我们已经到了这样的地步:这已经不够精细了。
我们的应用程序基于我们称之为站点的不同物理位置。用户可能有权在一个站点上执行某些操作(例如,编辑站点的配置),但无权在另一个站点上执行某些操作。因此,我们现在需要根据当前用户和当前站点查找权限。此外,某个用户的权限可能非常特定于他们自己,即。没有其他用户的权限与其他用户的权限完全相同。因此,我们需要一个更多基于权限而不是基于角色的安全模型。
设计满足这些要求的新权限模型的最佳方法是什么?我想确保很容易实现代码检查(我不希望在 SetUIPermissions 方法中散布一百万个 if 语句),并且我们不想每次都更新每个用户(超过 400 个并且还在增加)是时候我们添加一个新的权限了。由于最后一个要求,我认为我们需要保留角色的概念,但可能会添加/删除特定用户的特定权限的例外。
有任何想法吗?
您的角色和权限处于正确的轨道上。让角色引用一组“默认”权限是一种相对常见的解决方案;通过让用户拥有一个角色和一组权限,您可以允许该角色被专门为该用户授予/撤销的一组权限覆盖。这提供了合理的灵活性和粒度,并支持您添加新权限(在角色中)而无需接触每个用户的情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)