我有一个通过服务帐户对其用户进行身份验证的Web应用程序。它可以在我的本地机器上完美运行,允许那些机器人在那里并保持未授权。但是,当我上传到Web服务器时,根本无法识别SA。知道为什么吗?这就是我得到的:
System.Configuration.AppSettingsReader settingsReader = new AppSettingsReader();
string securityGroup = (string)settingsReader.GetValue("AUTHORIZED_USERS", "AUTHORIZED_ADMIN".GetType());
System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();
System.Security.Principal.WindowsPrincipal user = new System.Security.Principal.WindowsPrincipal(identity);
//if user cannot access, notify them and close application
if (!user.IsInRole(securityGroup))
{
Response.Redirect("Unauthorized.aspx");
return;
}
配置:
<appSettings>
<add key="AUTHORIZED_USERS" value="CORP.ACME.COM\AUTHORIZED_USER"/>
<add key="AUTHORIZED_ADMIN" value="CORP.ACME.COM\AUTHORIZED_Admin"/>
</appSettings>
<system.web>
<authorization>
<allow users="*"/>
<deny users="?"/>
</authorization>
</system.web>
Web服务器上的IIS使用我专门为此应用程序设置的池中的标识下的服务帐户的凭据和密码进行设置,但它无法识别它并且从未通过身份验证过程。
有什么建议吗?
答案 0 :(得分:0)
检查您的应用程序是否启用了Windows身份验证,模拟和保留为false iis - &gt;点击你的申请 - &gt;从面板中选择身份验证。