我正在开发一个ASP.Net MVC 3应用程序,其中有一个用户表,存储了用户名和密码。我另外创建了一个ADUsername字段,用于存储Active Directory的域名/用户名。
我想要实现以下两点: 1. 内网用户无需看到登录页面,系统应自动接收他们的域名/用户名并与ADUsername字段进行比较。 2. 外网用户或没有ADUsername值的用户需要查看登录页面,并使用我的自定义用户名和密码字段来登录。
在Visual Studio Development Server上很容易实现,但是在IIS上却非常困难 :)
因为我将Web.Config设置为使用表单认证,所以我使用WindowsIdentity.GetCurrent().Name获取当前的ADUsername,然后查找我的用户表以找到该用户并使用FormsAuthentication.SetAuthCookie对其进行身份验证。
然而,在IIS上始终返回APPPOOL\ASP.NET v4.0用户,而不是我需要的域名/用户名。
有什么帮助吗?
我想要实现以下两点: 1. 内网用户无需看到登录页面,系统应自动接收他们的域名/用户名并与ADUsername字段进行比较。 2. 外网用户或没有ADUsername值的用户需要查看登录页面,并使用我的自定义用户名和密码字段来登录。
在Visual Studio Development Server上很容易实现,但是在IIS上却非常困难 :)
因为我将Web.Config设置为使用表单认证,所以我使用WindowsIdentity.GetCurrent().Name获取当前的ADUsername,然后查找我的用户表以找到该用户并使用FormsAuthentication.SetAuthCookie对其进行身份验证。
然而,在IIS上始终返回APPPOOL\ASP.NET v4.0用户,而不是我需要的域名/用户名。
有什么帮助吗?