使用'System.Identity.Model.Claims'进行授权和身份验证

时间:2009-06-02 11:29:55

标签: .net wcf .net-3.5 claims-based-identity

我想在我的应用程序中添加身份验证和授权。我不想为此使用Active Directory。 我应该使用System.IdentityModel.Claims来做这件事吗? 使用System.IdentityModel.Claims将更容易实现身份验证和 授权和为什么/为什么不呢?

2 个答案:

答案 0 :(得分:1)

您可以考虑查看Microsoft Geneva框架以获取基于声明的身份验证和授权。 http://www.microsoft.com/geneva

实施基于声明的安全性肯定会让您更轻松。

与基于角色的访问控制列表(ACL)相比,基于声明的安全性具有以下优势:

  • 单一编程模型,无论使用何种认证方案
  • 更容易且更符合标准的SOA环境中的服务流程
  • 更灵活(您可能会发现角色实际上只是另一种类型的声明)
  • 跨越流程边界时无需重新认证

希望这有帮助。

答案 1 :(得分:0)

那你想用什么?一个数据库?您认为基于声明的身份验证会给您带来什么?

如果您希望通过多个系统(例如中间层)和兼容的后端流动身份,而不必混淆模拟和委派,则基于声明的身份验证可以简化生活。它还部分用于联合 - 允许其他人的系统执行验证,然后您可以根据这些系统发送的身份信息授权访问您的应用程序。

但是,如果您只想避免使用AD而使用来自数据库的用户名和密码,那么成员资格提供程序是一个更容易的选项,它可以为WCF和ASP.NET启用基于角色和用户的授权检查。