7

我在天蓝色的活动目录中有一组用户;在我的程序中,我将收集最终用户的用户名和密码,并希望检查 windows azure 活动目录。

可能吗?请提供一些参考。

我知道我们可以使用 Power-shell cmdlet 进行验证;我想知道是否有任何其他方式来验证用户凭据。

4

4 回答 4

3

万一有人还在寻找答案。在 ADAL 版本 2.7.10707.1513-rc 中,通过UserCredentialAcquireToken.

public AuthenticationResult AcquireToken(string resource, string clientId, UserCredential userCredential);

这是powershell的示例代码。 $UserCred = new-object Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential("****@*****", "*****") $result = $AuthContext.AcquireToken($resource,$clientID,$UserCred)

于 2015-06-29T12:27:06.580 回答
2

啊,我想,您正在尝试实现 SSO 场景。尝试使用 Windows Azure AD 将登录添加到您的 Web 应用程序!如果您的客户没有 Azure 订阅,此适用于 Windows Azure Active Directory 的多租户云应用程序示例描述了使用 Azure Active Directory 身份验证库的详细信息。希望这可以帮助。

于 2013-04-23T18:28:59.543 回答
0

您说您“将收集最终用户的用户名和密码,并希望使用 windows azure 活动目录进行检查” - 我很确定这是不可能的,而且我确信这是不可取的。这与 OAuth 等方法的趋势相反,在这种方法中,用户可以使用相同的凭据登录许多应用程序(即将出现的部分很关键),而无需向那些“许多应用程序”透露他们的密码。

这就是联合身份验证的理念,它比允许您登录的所有应用程序直接访问您的用户名和密码的旧方法更安全。通常在这样的流程中,假设现有 Office 365 帐户,您创建并配置为使用 O365 进行身份验证的新应用程序会将用户的 Web 浏览器重定向到 O365,用户在其中键入其 O365 用户名和密码,然后同意(有一次)他们可以与这个新应用程序一起使用,然后浏览器将重定向回应用程序,并带有一个包含一些声明的安全令牌。这些声明将包括登录用户的姓名、电子邮件地址和其他信息,旨在足以识别您应用中的用户。

使用 Facebook 或 Google 进行身份验证也是如此——您的应用程序永远不会直接看到用户的密码。它甚至适用于登录 StackOverflow 本身,因此您已经看到了工作流程。

于 2014-03-18T19:50:58.863 回答
0

希望这个 ADAL 选项也可能有所帮助。

ClientCredential encryptedCredentials = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "UserX@AdX.OnMicrosoft.com", "PasswordX")));
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", encryptedCredentials);
于 2014-04-04T17:00:16.883 回答