为什么基于声明的身份验证而不是基于角色的身份验证



我是基于声明的身份验证的新手。我已经阅读了几篇文章,但仍无法弄清楚基于声明的身份验证的确切用法。以下是我对基于声明的认证的一些疑问。

  1. 我想知道基于索赔的身份验证与基于角色的身份验证的区别和优势。
  2. 我们可以使用基于声明的身份验证而不是ADFS连接到Sql Server 2008 R2吗?如果,又如何呢?
  3. 在WCF中使用基于声明的认证的优势?

谁能给我一些解释,以便我能理解基于声明的身份验证和使用我的应用程序?

另外,声明与身份验证无关。

不存在基于声明或基于角色的身份验证。它是关于以您的应用程序可以使用的方式对身份进行建模。

角色也是声明(具有固定的true/false值)-声明只是通过键/值对为您提供更多的表达性。

使用声明的主要好处包括:

  1. 为您的服务提供一致的编程模型-您不需要知道如何实现特定的安全机制,一个站点可能使用用户名和密码身份验证/授权,另一个Active Directory。你的服务这两种方式都无所谓,因为你所做的只是处理

  2. 你不必担心安全问题实现。这是由第三方完成的

  3. 您可以自定义声明以适合您的域,并将其视为授权逻辑的扩展-标准安全属性通常只向您提供角色等基本信息。当然,你可以扩展它,但是你要做更多的工作通常难以实现(如:扩展AD通常不是一个技术挑战,而是一个策略约束(管理员不愿意修改AD模式以适应特定的应用程序)。

  4. 可互操作-由于声明[格式]是基于标准的,因此随着安全的底层技术被抽象,它们在不同语言和领域的服务之间变得更加可互操作。

如果你正在创建新的。net 4.5 WCF服务,你可以开始使用声明,因为命名空间与早期的安全实现是向后兼容的,所以即使你现在决定声明不适合你,你以后也可以更好地升级。

关于索赔有很多我不能在这里写的,我相信会有其他人有额外的理由为什么考虑索赔可能是一件好事。

相关内容

  • 没有找到相关文章

最新更新