【问题标题】:Designing a permissions based security model设计基于权限的安全模型
【发布时间】:2011-10-02 18:39:04
【问题描述】:

我在一个 vb.net winforms 应用程序上工作,我们目前正在使用简单的角色来确保安全。我们根据当前用户是否具有所需角色来启用/禁用特定控件。我们已经到了这不再足够细化的地步。

我们的应用程序基于我们称为站点的不同物理位置。用户可能有权在一个站点而不是另一个站点上执行某些操作(例如,编辑站点的配置)。因此,我们现在需要根据当前用户和当前站点查找权限。此外,某个用户的权限可能非常特定于他们自己,即。没有其他用户的权限与其他用户的权限完全相同。因此,我们需要一个更多基于权限而不是基于角色的安全模型。

设计能够满足这些要求的新权限模型的最佳方法是什么?我想确保在代码中实现检查很容易(我不希望在我们的 SetUIPermissions 方法中散布一百万个 if 语句)并且我们不希望每个用户都更新(400 多个并且还在计数)时间我们添加一个新的权限。由于最后一个要求,我认为我们需要保留角色的概念,但可能会为特定用户添加/删除特定权限的例外。

有什么想法吗?

【问题讨论】:

    标签: vb.net design-patterns permissions roles


    【解决方案1】:

    您在角色和权限的正确轨道上。让角色引用一组“默认”权限是一种相对常见的解决方案;通过让用户拥有一个角色和一组权限,您允许该角色被专门为该用户授予/撤销的一组权限覆盖。这提供了合理的灵活性和粒度,并支持您在无需接触每个用户的情况下添加新权限(在角色中)的情况。

    【讨论】:

    • 这基本上是我设计的。我们将保留角色的概念,添加每个角色获得的权限,并为每个用户/站点组合的角色设置正面和负面的例外。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 2011-03-26
    • 1970-01-01
    • 2012-03-25
    相关资源
    最近更新 更多