多个客户端使用 Active Directory 进行身份验证
Authentication with Active Directory by multiple clients
与我合作的一个客户有一个现有的 Active Directory 用于他们的员工信息,他们想要创建一个可以使用存储在 Active Directory 中的信息登录的应用程序。该应用程序应具有 Web (.NET)、移动(android 和 iphone)和可选的桌面界面。
我以前没有使用过 Active Directory。我对 Active Directory 做了一些研究,这是我目前所了解的:
有两种方法可以使用 Active Directory 进行身份验证:
- 通过 LDAP:对于 .NET,可以使用
System.DirectoryServices
(和
System.DirectoryServices.AccountManagement
) 命名空间 类 到
执行身份验证。对于android、iphone,我想会有一些
这些平台中的库对 Active Directory 进行 LDAP 查询(任何
建议?)
- 通过ADFS作为身份提供者:据我了解,ADFS是AD的扩展,提供SSO功能,可以配置为身份提供者,对吗?因此 .NET、android、iphone 客户端可以使用他们的库通过 ADFS
使用 Active Directory 进行 oauth/openid 身份验证
我上面的理解对吗?哪种方式更好?为什么一个人应该使用一个而不是另一个? Azure AD 如何进入这幅画?
基本上是
ADFS 3.0 支持 OAuth2 - 早期版本不支持。
请注意,有许多身份提供者可以使用 AD,例如shibboleth 和 PingFederate。
如果您需要 SSO 并且您的 .NET 应用程序是基于声明的(即 WIF),那么请使用 ADFS。您基本上将身份验证外包给受信任和经过验证的安全系统,然后您会取回包含您需要的任何 AD 属性的签名令牌。 ADFS 还提供与其他 STS 联合的能力,例如Azure AD.
在移动方面,看看Azure AD Authentication Library for .NET。
对于 AD,您必须自己完成所有这些工作。获取 AD 属性取决于您。并且你需要考虑如何确保安全。
借助 ADFS,您可以将您的用户同步到 AAD,从而在云中使用您的本地凭据。
与我合作的一个客户有一个现有的 Active Directory 用于他们的员工信息,他们想要创建一个可以使用存储在 Active Directory 中的信息登录的应用程序。该应用程序应具有 Web (.NET)、移动(android 和 iphone)和可选的桌面界面。
我以前没有使用过 Active Directory。我对 Active Directory 做了一些研究,这是我目前所了解的:
有两种方法可以使用 Active Directory 进行身份验证:
- 通过 LDAP:对于 .NET,可以使用
System.DirectoryServices
(和
System.DirectoryServices.AccountManagement
) 命名空间 类 到
执行身份验证。对于android、iphone,我想会有一些
这些平台中的库对 Active Directory 进行 LDAP 查询(任何 建议?) - 通过ADFS作为身份提供者:据我了解,ADFS是AD的扩展,提供SSO功能,可以配置为身份提供者,对吗?因此 .NET、android、iphone 客户端可以使用他们的库通过 ADFS 使用 Active Directory 进行 oauth/openid 身份验证
我上面的理解对吗?哪种方式更好?为什么一个人应该使用一个而不是另一个? Azure AD 如何进入这幅画?
基本上是
ADFS 3.0 支持 OAuth2 - 早期版本不支持。
请注意,有许多身份提供者可以使用 AD,例如shibboleth 和 PingFederate。
如果您需要 SSO 并且您的 .NET 应用程序是基于声明的(即 WIF),那么请使用 ADFS。您基本上将身份验证外包给受信任和经过验证的安全系统,然后您会取回包含您需要的任何 AD 属性的签名令牌。 ADFS 还提供与其他 STS 联合的能力,例如Azure AD.
在移动方面,看看Azure AD Authentication Library for .NET。
对于 AD,您必须自己完成所有这些工作。获取 AD 属性取决于您。并且你需要考虑如何确保安全。
借助 ADFS,您可以将您的用户同步到 AAD,从而在云中使用您的本地凭据。