使用LDAP的Asp.Net Identity个人用户帐户

时间:2014-03-14 19:06:54

标签: asp.net ldap asp.net-identity

我正在使用VS 2013 Asp.net 4.5.1并使用个人用户帐户选项创建内部webforms应用程序以进行身份​​验证。我想使用 LDAP 对用户进行身份验证,并使用为个人用户帐户选项创建的SQL DB来保存用户信息和角色。我们没有Active Directory联合身份验证服务(AD FS),因此我无法使用内部部署身份验证方法。

AD用户名将存储在SQL DB

如何使用LDAP对用户进行身份验证,然后使用 AspNet.Identity.EntityFramework 从SQL DB获取用户信息和角色?

3 个答案:

答案 0 :(得分:1)

您可以将此实现用作示例,它是RavenDB的客户UserStore

Customizing ASPNET Authentication for RavenDB

这一系列视频解释了如何在.NET中使用安全性(第二个视频解释了如何操作)。

Customizing ASPNET Authentication with Identity

答案 1 :(得分:0)

Brock Allen讨论了如何实施"外部登录"在他关于使用External Logins的新身份模式的综合文章中。

Active Directory联合身份验证服务(ADFS)支持许多身份协议,包括SSO。但是,如果它只是POWA(普通ol' windows身份验证),IIS将支持开箱即用。您只需在web.config Authentication节点中指定Active Directory(AD)用户/ AD组,并利用Identity.Name字段查找用户'延迟加载和/或请求缓存的信息。

如果使用ADFS进行基于声明的身份验证,您可以使用Identity and Access Tool模拟其工作方式并选择"使用本地STS"选项。

答案 2 :(得分:0)

为什么不在LDAP(ADLDS)中保留配置文件和角色? ADLDS可以很好地跟踪我认为有用的多值属性。 ADLDS中的角色(组成员身份)是自发的(您可以查询成员的角色或查询用户的角色成员身份)。 ADLDS还可以确保参照完整性 - 如果成员不存在,则不能在角色中拥有成员。我认为您通过在两个独立的商店中拥有帐户和个人资料或学会喜欢分布式交易协调员来面对一些严重的参照完整性问题。