[英]Website deployed on IIS not getting the domain NT login
我使用IIS在服务器上部署了ASP.net网站。 问题在于,它拒绝访问同一域中的网站的任何人。 我要做的是,一旦用户尝试访问服务器上的网站,我就会读取该用户的NT登录名,并将其与我的Db中存在的NT登录名相匹配,并且如果该人的NT登录名存在于数据库中,则将其授予访问权限。 现在,在调试之后,我先检查了用于存储User NT登录名的变量,然后再与数据库进行了检查,无论谁访问该网站,传递的登录名都是用于部署该网站的服务器的登录名。
Webcofig:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<identity impersonate="true" />
</system.web>
<system.webServer>
<defaultDocument>
<files>
<add value="User_login_Portal.aspx" />
</files>
</defaultDocument>
</system.webServer>
<connectionStrings>
<add name="myConnectionString"
connectionString="Server=Server;Database=Backend_UM;User
ID=sa;Password=Password;Trusted_Connection=False;"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
ASPCode:
string x = Environment.UserName;
string y = Page.User.Identity.Name;
string strName = HttpContext.Current.User.Identity.Name.ToString();
WindowsIdentity currentIdentity = WindowsIdentity.GetCurrent();
string NTlogin = currentIdentity.Name.ToString();
string[] login_name = NTlogin.Split('\\');
login = loginid.Text = login_name[1];
认证:
Windows身份验证:已启用
ASP.net模拟:已启用
论坛身份验证:已禁用
匿名身份验证:已禁用
身份:ApplicationPoolIdentity
Asp代码中的登录变量假定是尝试访问它的人员的NT登录用户名,但是无论谁尝试访问网站,登录变量都是部署门户网站的服务器的用户名。
问题已解决。 在部署网站时,我需要选中Windows身份验证复选框。 由于我没有这样做,因此网站只会采用部署它的服务器的用户名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.