活动目录和用户管理

Active Directory and User Management

我对 LDAP 和 Active Directory 还很陌生,我的理解可能完全错误。

我知道 ASP.NET 身份和表单身份验证(但是,我对此也很陌生)我的问题是实际上是否可以使用表单身份验证可以使用的某些功能(进一步解释下面)与 Active Directory。

我正在构建一个 MVC 网络应用程序,我想根据 Active Directory 对我的用户进行身份验证。使用 ADFS 可以做到这一点。在VS2013中使用ASP.NETIdentity时得到的模板使用的是被动认证。但是,是否可以不执行此重定向到 Active Directory 域而是为用户创建自定义登录页面?

是否也可以像使用表单身份验证那样使用 Active Directory 进行用户管理?我在想:

如果 Active Directory 无法实现这些功能,请告知如何配置应用程序以获取此功能(如果 Active Directory 可能)。

非常感谢您对我的帮助!

编辑 1: 为了让我的问题不要太开放,我最好从那个自定义登录页面开始。当我很好地理解它时,使用 ADFS 对用户进行身份验证时的正常流程是:

  1. 用户试图访问需要对其进行身份验证的应用程序的网页
  2. (被动)重定向到 ADFS 提供的登录页面 -> 用户输入他的 AD 凭据
  3. ADFS returns 令牌
  4. 令牌被发送到 Web 应用程序(ADFS 信任)
  5. 当 web 应用程序认为一切正常时,它会在用户的浏览器中存储一个身份验证 cookie(我猜),用户可以访问该网页

我想要什么:

  1. 用户试图访问需要对其进行身份验证的应用程序的网页
  2. 重定向到同一 Web 应用程序的登录页面,用户可以在其中输入其凭据
  3. 输入的凭据被发送到 ADFS(我猜)并且它 returns 一些东西(令牌?)包含有关登录是否成功的信息(此步骤之前可以调用一些(自制)服务(Web API 应用程序),多个客户端应用程序可用于对同一目录进行身份验证)
  4. 登录成功后,Web 应用程序会在用户的浏览器中存储一个 cookie,用户可以访问该页面

不知道有没有道理?我只是想知道使用 Active Directory 存储用户信息的公司如何仍然可以拥有自定义登录页面、注册页面和其他用户管理内容。 (或者他们不使用 AD 而只是拥有自己的数据库?)

通常情况下,如果您想要自定义登录页面,您可以使用 ADFS 活动配置文件实现(例如 WCF)来进行身份验证。

用户配置不是 ADFS 的一部分。为此,您需要一个身份管理器,例如PingFederate、OpenIDM。

如果您使用的是 ADFS 2.0 或 2.1,您可以自定义页面(因为它们 运行 在 IIS 上)并添加这些功能或重定向到一个单独的网站。

您想要的大部分是 OOTB AD 功能。参考:Everything in Active Directory via C#.NET 3.5 (Using System.DirectoryServices.AccountManagement).

密码策略可能非常复杂。我不知道有任何 API 明确这样做。

如果您使用的是 ADFS 3.0,则这些都不是 ISS,所以您很不走运。

这并不是我在这里的问题的真正答案,但如果有人对我最终所做的感兴趣:你可以阅读它(非常简短)