0

我手头有点混合情况。我正在编写一个 Intranet asp.net Web 应用程序。我不想使用完整的 Windows 身份验证,因为我没有在 Active Directory 中设置适当的组,无法仅根据用户所在的组对用户进行身份验证。到目前为止,我已经创建了一个成员数据库,并根据用户的 NT 登录名手动验证用户。该应用程序变得越来越复杂,我正在考虑使用 Membership 和 Roles 提供程序来验证用户身份。这是我的问题:我希望能够仅基于 NT 对用户进行身份验证,但我不想使用 Windows 身份验证。我想编写自己的提供程序以插入成员资格和角色提供程序,并使用表单身份验证,但使其透明。基于用户表,我希望能够仅根据他们的 NT 对用户进行身份验证或重定向他们。这是可能的,还是我坚持编写自己的小框架来完成这个?如果可能的话,我想利用提供者框架。

4

1 回答 1

7

将您的 web.config 设置为使用表单身份验证。
确保在 IIS 中打开了集成身份验证(您可能还需要禁用匿名)。这将允许您获取用户的 NT 名称。

您可以通过以下方式获取用户的 NT 名称:

  Request.ServerVariables["LOGON_USER"]  

您可以使用以下命令登录用户,无需密码:

  FormsAuthentication.RedirectFromLoginPage( userName, false ); 
于 2008-10-13T20:18:01.660 回答