我听说大多数网站都使用临时安全性。如何在代码中指定和执行安全策略?例如,只有 bob 的朋友可以看到他的电子邮件地址。如果政策在整个代码中交织在一起,他们如何管理它,因为它很容易出错。我已经开始为 Web 应用程序开发信息流控制包,只是好奇大公司使用什么?
问问题
202 次
1 回答
1
注意:这个问题最适合Security Stack Exchange站点。
一般来说,软件开发公司 - 不仅仅是网站 - 使用代码(Java、C#......你的名字)开发他们自己的授权逻辑。
有一些公司/团队已经将他们的业务逻辑与他们的授权逻辑解耦了。这样做称为外部化授权。与此相关的字段称为外部授权。
外部化授权有几个好处:
- 将业务逻辑与授权逻辑解耦
- 更容易分别维护任一代码库
- 更容易审计
- 集中逻辑
- ...
有几种方法可以实现外部化授权。这里有些例子:
- Spring Security (Java) 为您提供了一种使用角色和注释来表达授权逻辑的方法
- .Net 中基于声明的授权
- Ruby 中的 CanCan 和 CanCanCan
- Python中的烧瓶
所有这些方法都特定于一种给定的语言。一些例如 CanCan 是基于策略的。其他人使用基于角色的方法。
理想情况下,所有公司和网站都将使用基于政策的技术中立方法。事实上,围绕这样的“事物”有一个标准。它被称为 ABAC(基于属性的访问控制),它使用用 XACML 编写的策略来表达访问控制逻辑。
很酷的是,您可以主要在 Facebook、Yahoo 等平台上重用这些策略……
于 2015-07-05T16:18:20.300 回答