设计基于权限的安全模型

2024-01-31

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

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

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

有任何想法吗?


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设计基于权限的安全模型 的相关文章

  • VB SQL 语句未选择正确的行

    我试图使用 SELECT 语句在我的数据库中 选择 一个人 但它没有选择正确的人 我也不确定为什么 我正在使用访问数据库 数据库连接代码 Imports System Data OleDb Module Database Connectio
  • .NET 图形重影

    我正在为我们正在开发的新应用程序制作一个示例 GUI 我已经决定了语言 但我可以使用任何第 3 方 DLL 或插件或任何我需要的东西 以使 GUI 尽可能无缝地工作 他们希望它非常像 mac ubuntu vista Windows 7 所
  • NHibernate 中具有不同类型答案的问题

    我正在尝试找到一个问卷问题的简洁解决方案 假设我有一个Questionnaire类有一个集合Answers e g public class Questionnaire public virtual ISet
  • 发布者-订阅者与观察者[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将密钥对添加到现有 EC2 实例

    我被给予AWS控制台访问正在运行 2 个实例的帐户 但我无法关闭 在生产中 但是 我想获得对这些实例的 SSH 访问权限 是否可以创建一个新的密钥对并将其应用到实例 以便我可以通过 SSH 访问 获取现有的pem当前无法选择创建实例所用的密
  • 如何为抽象工厂创建的类设置特定属性?

    是否可以让具体工厂使用抽象工厂模式为其创建具有特定类型参数的具体类 或者由各自的具体工厂创建的不同具体类是否需要具有相同的字段 例如 在下图中 您将如何使用客户端 应用程序 给出的不同参数集来实例化 WinButton 和 OSXButto
  • 将 Chrome 扩展上的权限移至可选

    我了解到 Chrome 在添加新权限时会禁用扩展程序 当我向扩展添加新功能时 我需要在permissions列表 现在我知道我应该使用optional permissions 我的问题是 如果我将网站列表从permissions to op
  • 策略模式还是命令模式?

    假设我有一个金融交易列表 我需要针对这些交易执行一系列验证规则 一个例子是我有一笔购买产品的交易 但是首先我需要验证交易中的帐户是否有足够的可用资金 产品没有售完等 由于这些规则 交易将是标记为拒绝 并应指定错误代码 当然 我正在考虑用一个
  • 如何在 VB.NET 中声明和初始化多维数组?

    我想做这个 Dim Numbers As Integer 1 2 3 4 5 6 7 IDE 的下划线4 5 6 7并说Array initializer has 3 too many elements 我究竟做错了什么 以下应该有效 Di
  • IoC 服务的抽象类还是接口?

    我目前正在使用 IoC 在项目中提供存储库的具体实现 我读过的所有示例都使用接口作为服务的定义 但是 在阅读了 Microsoft 的建议后 建议更喜欢抽象类而不是接口 http msdn microsoft com en us libra
  • 单例属性

    好吧 如果我创建一个单例类并通过公共静态属性公开单例对象 我明白了 但我的单例类还有其他属性 这些应该是静态的吗 这些也应该是私人的吗 我只想通过执行以下操作来访问单例类的所有属性 MySingletonClass SingletonPro
  • 设置表单的背景颜色

    Private Sub HScrollBar1 Scroll ByVal sender As Object ByVal e As ScrollEventArgs Handles HScrollBar1 Scroll Me BackColor
  • 为什么抽象类应该实现抽象基类的抽象方法?

    在下面的示例中 该类Derived实现抽象方法method从课堂上Main 但我想不出在抽象中填写方法体的理由Derived类的实现 当然 我应该只在实际类中实现抽象方法 那么我怎样才能避免这样做呢 我还可以做些什么 abstract cl
  • 需要从 DCOM 配置中删除对象 (DCOMCNFG)

    我们有一个带有 activex exe 和 com dll 的应用程序 安装后 我们会在 DCOM 配置中创建一个对象 如果我们尝试从 DCOM 配置中删除该对象 它就会关闭 直到我们再次重新打开它 想知道是否有任何程序可以从 DCOM 及
  • PostgreSQL 错误 42501:架构权限被拒绝

    我正在 ASP NET 中构建一个用户注册系统 使用 PostgreSQL 数据库来维护用户信息 作为注册过程的一部分 用户会收到一条确认消息 他们必须单击其中的链接来验证其电子邮件地址 然后 他们将进入一个可以创建密码的页面 一旦用户提供
  • Java 枚举相对于旧的“类型安全枚举”模式的优势?

    在 JDK1 5 之前的 Java 中 Typesafe Enum 模式是实现只能采用有限数量值的类型的常用方法 public class Suit private final String name public static final
  • 变量替换为字符串

    我可以做类似的事情吗 s said s blah name blah 在 VB NET 中 写字越来越痛苦name said blah blah 在VB NET 14 对于VS2015 中 您可以使用字符串插值 https msdn mic
  • 从 ASP .Net Web 服务访问 MSMQ 时出现权限错误

    我写了一个从消息队列读取的 Web 服务 这在卡西尼号下工作得很好 现在我已经在 IIS 下部署了该服务 当该服务尝试访问队列时 我收到一条错误消息 队列不存在或者您没有足够的权限来执行该操作 我已将 IIS 虚拟目录上的匿名访问用户设置为
  • 构建器模式的真实示例

    我想看看 Builder 模式是如何在现实世界的应用程序 API 中使用的 我找到的例子都是披萨 蛋糕 汽车等等 加上 GoF 书中的解析器示例 您能否告诉我这个模式在现实世界的应用程序 API 中的一些用法 最好是来自 C NET 或 P
  • SQL存储过程执行时间差异

    我在 win form 应用程序中遇到奇怪的问题 我正在调用一个存储过程 并且执行大约需要 6 秒 此存储过程接受多个参数 包括一个输出参数 从应用程序级别我使用 Dim dt1 DateTime Now cmd ExecuteNonQue

随机推荐

  • SELECT INTO 和“未声明的变量”错误

    当我尝试执行以下查询时 SELECT id subscriber INTO newsletter to send FROM subscribers 我收到错误 1327 未声明的变量 newsletter to send 该查询有什么问题
  • 使用表达式树的动态 Linq 2 Sql 引发异常“未为 System.String 和 System.String 定义二元运算符 LessThan”

    我正在尝试使用表达式树编写动态 Linq 2 Sql 查询 但我收到一个异常 告诉我未定义 LessThan 和 GreaterThan 运算符System String and System String 我觉得很奇怪 这是真的吗 或者我
  • 使用 tkinter 时如何将 tcl 中的 stdout 获取到 python 字符串变量中?

    我有以下 python 代码 import Tkinter root Tkinter Tk root tk eval puts printed by tcl 它会在屏幕上打印 printed by tcl 如何将 tcl 解释器打印到屏幕上
  • Javascript Date 对象为我的日期字符串返回“无效日期”

    我想使用这个字符串在 Javascript 中创建一个 Date 对象04 21 2014 12 00p当传递给构造函数时 new Date 04 21 2014 12 00p 它返回Invalid Date 我见过其他帖子操纵字符串以满足
  • Spring:@PropertySource 的编程等价物是什么

    考虑以下设置 Configuration PropertySource classpath common properties public class CommonConfig 现在假设我想要在此配置中加载属性源的方式和内容背后有一些重要
  • 如何 JUnit 测试两个 List 包含相同顺序的相同元素?

    Context 我正在写一个简单的JUnit http www junit org 测试为MyObject class A MyObject可以从静态工厂方法创建 该方法采用 varargsString http docs oracle c
  • 如何使用 GMP 计算 2 ^ -18?

    令我尴尬的是 我刚刚发现 给负指数喂食mpz pow ui效果不太好 手册确实说 unsigned long 你知道 对于另一个mpz pow功能 手册使用了我不理解的概念 例如 base exp mod mod 在下面的 void mpz
  • 使用 NSUserdefaults(xcode,swift2) 保存 datePicker 值

    我们如何通过 nsuserdeafaults 或其他方式保存 datepicker 的值 例如 如果一个人选择下午 5 点 那么当他返回应用程序时 他应该在 datepicker 上看到下午 5 点 我不知道如何将 nsusersdefau
  • 当我尝试拖动时,自定义 MKAnnotation 图像会恢复为默认值

    我有一堆不需要拖动的 MKAnnotations 我设置这个 pin setDraggable NO 当我触摸注释并 意外地 拖出注释时 我遇到了问题 它会立即丢失其自定义图像并更改回默认的红色图钉 我该如何防止这种情况发生 在 viewF
  • svn:ignore 不忽略 xcuserdata

    我是第一次使用 svn ignore 属性 所以我可能会误解一些东西 我正在开发一个 iOS 应用程序 我有一个 Xcode 项目 我想忽略 xcuserdata 文件夹 使用 Mac 终端应用程序 我转到 svn 存储库的根目录并尝试使用
  • 在 EntityObject 中的自定义属性上引发 PropertyChanged

    我在 EntityObject 上有几个自定义计算属性 我想触发 PropertyChanged 事件来通知所有绑定 但这不起作用 当我使用 ReportPropertyChanged 时 它会引发参数异常 De eigenschap 名称
  • JavaFX 代码编辑器,带有 Java 代码内容荧光笔

    我想在 JavaFX 中编写一个文本编辑器 其作用类似于 Eclipse Netbeans IDE 以突出显示 Java 代码 任何人都可以建议如何实现它 或者任何人以前已经这样做过 Thanks 据我所知 没有用于代码突出显示 编辑的纯
  • 长时间运行的进程中 DbContext 的生命周期[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 假设我有一个长时间运行的进程 例如 Windows 服务 需要从多个线程访问数据库 DbContext 不是线程安全的 而且最好不要长
  • 我如何编码 SplashScreenActivity.kt 因为我的不起作用[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想向我的应用程序添加启动屏幕 因此我创建了一个名为 SplashScreen 的活动 我将此代码添加到 SplashScreen
  • 了解python中的Queue模块(如何运行它)

    最近引入了关于延迟处理能力以及实现 先进先出 等的队列设计 查看文档 试图获取示例队列 以了解如何在我自己的设计 程序中实现它 但我在运行这段代码时遇到了问题 import queue def worker while True item
  • 消失的存储过程

    所以 不确定发生了什么 但我有存储过程 它在 SQL 2k 中不断从我的数据库中消失 我可以再次添加它 然后尝试从我的网络应用程序执行它 但出现异常 提示无法找到存储过程 然后我会回到管理层并刷新 然后它又消失了 这是存储过程的配置 set
  • Android 树视图

    我知道有可扩展列表视图 http developer android com reference android widget ExpandableListView html但最多只支持2级 我需要一个真正的树视图垂直列表 至少有大约 5
  • 如何在树枝模板中输出胡子模板?

    我需要使用 symfony2 将胡子模板添加到 Twig 模板中 有人为 django 创建了一个 逐字 模板标签 我正在为 twig 寻找一个相应的模板标签 以防止它解析 Mustache 元素 有人能指出我正确的方向吗 Thanks 我
  • 为 ggplot2 生成亮色和暗色对

    brewer pal n 8 name Paired 最多可以创建八个颜色对 但其中只有少数颜色适合打印 有没有更灵活的函数可以生成深色吊坠 应该是深色的 在黑暗中看起来像相同的颜色 可打印 很容易与亮色区分开来 有没有 colorbrew
  • 设计基于权限的安全模型

    我在开发一个 vb net winforms 应用程序 目前我们使用简单的角色来确保安全 我们根据当前用户是否具有所需的角色来启用 禁用特定控件 我们已经到了这样的地步 这已经不够精细了 我们的应用程序基于我们称之为站点的不同物理位置 用户