我的手上有一种混合情况.我正在写一个内联网asp.net网络应用程序.我不想使用完整的Windows身份验证,因为我没有在Active Directory中设置适当的组,只能根据他们所在的组来验证用户.到目前为止,我已经创建了一个成员资格数据库,并根据他们的NT登录手动验证用户.该应用程序变得越来越复杂,我正在寻找使用Membership和Roles提供程序来验证用户身份.这是我的问题:我希望能够仅基于他们的NT对用户进行身份验证,但我不想使用Windows身份验证.我想编写自己的提供程序来插入成员资格和角色提供程序,并使用Forms身份验证,但要使其透明.基于Users表,我希望能够对用户进行身份验证或根据他们的NT单独重定向它们.这是可能的,还是我写了自己的小框架来完成这个?如果可能的话,我想利用提供者框架.
设置web.config以使用Forms身份验证.
确保在IIS中打开了集成身份验证(您可能还需要禁用匿名).这将允许您获取用户的NT名称.
您可以使用以下命令获取用户的NT名称:
Request.ServerVariables["LOGON_USER"]
您可以使用以下命令登录用户,无需密码:
FormsAuthentication.RedirectFromLoginPage( userName, false );