问题标签 [access-control]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
216 浏览

asp.net - 在 ASP.NET Web 应用程序中合并组织单位和业务角色

在企业业务的真实世界企业 Web 应用程序中,我们总是需要通过用户的单位和角色来限制对数据的访问。

假设我们有一家企业公司,在一个国家/地区拥有许多购物商店。
因此,公司的总部可以查看所有分支机构的所有发票和统计数据。该国的每个地区都为其自己的分支机构管理和规划区域销售策略。然后该地区的用户也可以看到其分支机构创建的所有发票。每个分支机构都可以创建发票、客户并仅查看其数据。

我们可以看到我们有两个主要的访问控制定义:

1- 角色(多年前就已经考虑并实现了!):我们可以使用 RoleProvider 轻松实现并控制 UI 级别的访问控制(web.config 和 sitemap.config)

2- 拒绝/授予用户更新/查看数据访问权限的单位及其与角色的关系。

我已经在 ASP.NET 中实现了一个自定义主体来获取用户的单位和角色,但我认为应该有一个经典的解决方案......

0 投票
1 回答
121 浏览

pylons - Pylons 应用程序中的访问控制?

你知道 Pylons 有什么类可以控制每个视图的访问吗?

谢谢(你的)信息!:)

0 投票
4 回答
213 浏览

python - 控制对系统部分以及某些信息的访问

这是一个棘手的问题,我们已经讨论了一段时间(几天),但还没有找到令人信服的好解决方案。这是这种情况:

  • 我们有用户和组。一个用户可以属于多个组(多对多关系)
  • 网站的某些部分需要访问控制,但是:
  • 某些表的某些 ROWS 需要访问控制,即。某个用户(或某个组)不应该能够删除某行,但同一表的其他行可能对该用户(或组)具有不同的权限设置

有没有简单的方法来完成这个?我们错过了什么吗?

我们需要在 python 中实现它(如果有帮助的话)。

0 投票
3 回答
713 浏览

git - Git钩子禁止在顶层创建目录

防止用户停止创建顶级目录的更好方法可能是在推送或直接创建文件时?

0 投票
2 回答
419 浏览

.net - 现有的细粒度访问控制库/框架?

假设我有这些要求:

角色 AA 中的用户 A 需要能够更新 A1 类型的所有实体。

角色 BB 中的用户 B 需要能够仅更新具有“2”主标识符的 A1 类型的实体,我将其称为 A1(“2”),并且不能更新任何其他 A1 类型的实体,但是可以向实体 A1("2") 添加或删除任意数量的 B2 类型的子实体。

角色 CC 中的用户 C 需要能够编辑属于实体 A1("2") 的这些子 B2 实体的大部分但不是全部属性,角色 CC 的成员也不能从 A1("2") 添加或删除 B2 实体)。

用户 D 在角色 BB 和角色 CC 中,并且作为组合成员资格的结果,具有从两组权限的联合派生的权限(在这种情况下,因为角色 CC 权限是角色 BB 的适当子集,所以这表示用户 D 可以执行角色 BB 允许的所有操作)。

等等。这些策略可能会在部署后更改,因此不需要进行重大的重新开发工作来实施更改(例如解决此问题的声明性方法可能需要什么)。

我假设访问控制列表 (ACL) 将存储在受保护的对象旁边或内部。

我假设编写代码的开发人员需要能够命令式(而不是声明式地)查询单个方法/函数/操作/过程,参数标识当前主体、正在考虑的对象、正在考虑的操作(也许我们称之为特权),然后检索一个布尔值,指示是否应允许或拒绝该操作。

随意挑战我的假设。

现在,我已经有了一个简单而有效的专有通用解决方案(基于我已经致力于生产并且运行良好的工作)。我正在考虑将其作为开源项目发布。

但在我将它提升到一个新的水平并构建这个野兽之前,我想知道是否有人知道已经被广泛接受的系统、模块或库(不一定必须是 .NET),它已经帮助开发人员实现了这种对实体的细粒度控制(无论是数据库记录还是 ORM 中的对象或其他)。

PW 在将其发布到 SO 之前查看答案时,我在其他地方 ( SO LINK ) 找到了一个答案,表明 Zend_Acl 可能对 LAMP 项目具有这种功能,但我更喜欢 .NET/Windows 解决方案。

0 投票
2 回答
1164 浏览

apache - 如何限制来自 Apache 服务器的访问文件?

如果我允许用​​户上传文件,用户上传文件后,文件将转到

www.someplace.com/public_file/... ...

因此,每个人都可以访问该文件。但我想对此做一些限制。例如,我想降低非登录用户的下载速度。我怎样才能做到这一点?另外,如果我想限制用户在他/她没有用户权限的情况下获取文件... ...例如,如果某些用户上传到

只有用户有一些权限,才能访问这个地方... ...我该怎么做?我也应该在 Web 应用程序和 Apache 服务器配置中执行此操作吗?谢谢你。

0 投票
1 回答
391 浏览

.htaccess - 是否可以使用 http_refer 阻止对文件夹的直接访问,同时允许 Flash 播放器访问

我的服务器上有 mp3 文件,我想通过我网站上的 Flash 播放器访问这些文件。是否可以按照亲密同事的建议使用 http_refer 来执行此操作?

根据我的研究,我不断遇到下面的代码,但这会阻止包括我的 Flash 播放器在内的所有内容。如何只允许我的 Flash 播放器通过操作 .htaccess 文件来访问这些文件?

< Files *>
Deny from all
< /Files>

0 投票
2 回答
649 浏览

php - 在不使用模块的情况下实现“管理面板模块”(MVC 相关)

假设我们的 MVC 框架很差,没有模块支持。我们的目标是实现具有某些功能的管理面板。所有管理面板功能的 URL 都以 /admin (/admin/add_user, /admin/remove_user) 等开头。由于我们没有模块,所以我们必须创建管理控制器(是的,这个控制器可能会特别大) .

我们如何保护这种被任何人访问的方法?.htaccessing /admin 文件夹不是一个好主意,我认为。

谢谢你。

0 投票
3 回答
398 浏览

design-patterns - 具有粒度方法和属性访问的编程语言

想象这样的事情:

“支持”的想法是次要的但相关的,因为在这种情况下测试适用于接口(因此语言将区分所有实现必须通过的接口测试和特定于实现私有的实现测试

但我想在这里传达的重要思想是访问控制语义;请注意,带有“access from”关键字的 A.sum 只能从方法 B.calculator 中调用。其他任何东西都被检测为编译时错误。这里的想法是以更细化的方式实施架构约束。如果您没有添加“访问自”或仅添加“访问自 *”,则意味着允许从任何地方调用该方法的默认行为。什么样的架构约束?好吧,在进行分层设计时手动执行的那种:A层(最低层)从B层(中间层)使用,而B层又从C层(高层)使用。但是 A 层无法访问 B 层,A 或 B 都无法访问 C 层,

问题:你知道支持上述语义的任何语言(包括源到源中间语言)吗?讨论这种语义是否会适得其反、危险或只是鼓励不良设计的额外要点

更新:这种限制还有另一个非常重要的用例:

事件驱动编程:通常事件的问题是事件往往做的太多,理解事件的依赖链可能会变得很棘手

因此,例如,可以定义事件处理程序只有一组可以交互的可见类(或者相反,它不能接触的一组对象)

0 投票
5 回答
1939 浏览

access-control - 阻止巨魔——IP禁令被认为是有害的?改用什么?

我负责讨论论坛的技术方面,该论坛受到巨魔(据我所知是一个物理人)的困扰。似乎社区已经用尽了所有的交流方式(毫无疑问,它是一个net.troll,而不是一个毫无头绪的用户),包括面对面的交流。

我可能需要阻止那个人访问该站点,但我不确定如何(它已经拒绝自行离开)。该站点需要使用电子邮件地址进行注册,这将为您提供用户名。我可以阻止用户名,但巨魔可以很容易地注册一个新用户名。

现在,有很多关于“如何进行IP禁令以及在哪一层”的问答,但值得麻烦吗?

IP禁令对阻止巨魔有用吗?如果不是,那是什么?或者,我可以将知识产权禁令与其他形式的保护结合起来吗?

我对 IP 禁令的问题有很多:

  • 巨魔来自几个不同的 IP 块(家庭/学校/开放 wifi/...?)
  • IP 地址似乎是动态分​​配的(这里通常使用 DSL)
  • 我怀疑可能通过代理和/或 VPN 使用新帐户进行 sock puppeting
  • 至少在一种情况下,有其他用户从同一个 IP 进入(我怀疑一个大型 NAT - 确认:在这种情况下,整个大学都从一个公共 IP 地址后面访问网络)

看来我将通过技术手段解决一个社会问题,而这种前景似乎很暗淡。