C# 如何使用LDAP实现基于资源/操作的授权?
我们有一个使用基于C# 如何使用LDAP实现基于资源/操作的授权?,c#,ldap,authorization,rbac,abac,C#,Ldap,Authorization,Rbac,Abac,我们有一个使用基于资源/操作的授权的遗留系统。最近,我们公司决定使用LDAP服务器作为身份验证和授权的存储库 我以前没有使用过LDAP服务器,但据我所知,我们可以为不同的对象定义模式。因此,我在网上搜索了一个使用LDAP实现基于资源/操作的授权的简单示例,但我没有找到任何结果(每个人都在谈论用户、组和角色) 所以我想到了两个问题: 使用LDAP进行基于资源操作的授权是一个好主意吗 (因为我找不到一个好的例子来说明如何做到这一点) 如果是,我们如何实现它?(任何谷歌结果都会有帮助:) PS:我们的
资源/操作的授权的遗留系统。最近,我们公司决定使用LDAP
服务器作为身份验证
和授权
的存储库
我以前没有使用过LDAP
服务器,但据我所知,我们可以为不同的对象定义模式。因此,我在网上搜索了一个使用LDAP
实现基于资源/操作的授权的简单示例,但我没有找到任何结果(每个人都在谈论用户、组和角色)
所以我想到了两个问题:
使用LDAP
进行基于资源操作的授权是一个好主意吗
(因为我找不到一个好的例子来说明如何做到这一点)
如果是,我们如何实现它?(任何谷歌结果都会有帮助:)
PS:我们的应用程序是用C写的。有没有好的开源LDAP
客户端可以使用,或者我们应该使用.NetDirectoryServices
LDAP非常灵活,您可以定义任何您想要的模式,但这不是一项显而易见的任务
我想说它非常适合你的情况,但我知道没有默认模式。在谷歌上搜索一下,我发现这可能会给你一个起点。这和你需要的相符吗
关于.Net库:它是“纯”LDAP服务器还是Active Directory服务器?
似乎DirectoryServer
两者都支持,所以我会坚持使用它。请注意,对于纯LDAP服务器,必须使用System.DirectoryServices.Protocols.LdapConnection
进行连接
可能也会有帮助
希望这能有所帮助。LDAP非常灵活,您可以定义任何您想要的模式,但这不是一项显而易见的任务
我想说它非常适合你的情况,但我知道没有默认模式。在谷歌上搜索一下,我发现这可能会给你一个起点。这和你需要的相符吗
关于.Net库:它是“纯”LDAP服务器还是Active Directory服务器?
似乎DirectoryServer
两者都支持,所以我会坚持使用它。请注意,对于纯LDAP服务器,必须使用System.DirectoryServices.Protocols.LdapConnection
进行连接
可能也会有帮助
希望这有帮助。您可以退一步,看看更大的访问控制/授权用例。如果您想进行基于资源操作的授权,可以推出ABAC,即基于属性的访问控制模型
ABAC是RBAC和以身份为中心的授权的演变。它由NIST设计,与标准化RBAC的组织相同
使用ABAC,LDAP服务器将成为属性的来源。属性只是一个键值对。在您的案例中使用ABAC的好处是您不需要扩展或更改LDAP模式
使用ABAC,您可以实现以下好处:
- 将授权逻辑外部化到中心策略决策点
- 您可以将授权逻辑表示为策略而不是角色
- 策略可以使用用户、资源、操作和上下文的任何属性
您可以在ABAC中表达以下场景:
- 如果document.location==user.location,则角色==manager的用户可以对文档执行操作==编辑
可扩展访问控制标记语言XACML实现了ABAC。您可以在此处阅读有关XACML和ABAC的更多信息:
- ABAC:
您需要在要保护的应用程序前面部署拦截器(策略实施点)。您可以后退一步,看看更大的访问控制/授权用例。如果您想进行基于资源操作的授权,可以推出ABAC,即基于属性的访问控制模型
ABAC是RBAC和以身份为中心的授权的演变。它由NIST设计,与标准化RBAC的组织相同
使用ABAC,LDAP服务器将成为属性的来源。属性只是一个键值对。在您的案例中使用ABAC的好处是您不需要扩展或更改LDAP模式
使用ABAC,您可以实现以下好处:
- 将授权逻辑外部化到中心策略决策点
- 您可以将授权逻辑表示为策略而不是角色
- 策略可以使用用户、资源、操作和上下文的任何属性
您可以在ABAC中表达以下场景:
- 如果document.location==user.location,则角色==manager的用户可以对文档执行操作==编辑
可扩展访问控制标记语言XACML实现了ABAC。您可以在此处阅读有关XACML和ABAC的更多信息:
- ABAC:
您需要在要保护的应用程序前面部署一个拦截器(策略执行点)。谢谢:)我如何搜索其他rfc?您可以使用此ldap站点进行谷歌搜索:www.rfc-base.org
,但会有很多噪音。。。我熟悉LDAP,但不了解基于资源操作的授权本身。老实说,用户/组对我来说很好:)谢谢:)我如何搜索其他rfc?你可以用这个ldap站点进行谷歌搜索:www.rfc-base.org
,但是会有很多噪音。。。我熟悉LDAP,但不了解基于资源操作的授权本身。老实说,用户/组在我看来不错:)具体来说,为什么要在LDAP中定义自己的模式?客户通常在拥有基础设施和/或管理团队(如帮助台)并且希望通过更改LDAP中的内容来控制对应用程序的访问时使用LDAP。所以通常你