1
我有一个Web应用程序,通过服务帐户对其用户进行身份验证。它在我的本地机器上完美工作,允许那些在那里的机器保持未授权。但是,当我上传到Web服务器时,它根本无法识别SA。任何想法为什么?下面是我的了:在本地机器上工作但在Web服务器上工作的服务帐户
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>
IIS Web服务器上的设置与池中的身份下的服务帐户的凭据和密码,我专门有设置此应用程序,但它不能识别它,并且永远不会通过身份验证过程。
有什么建议吗?
你是什么意思,在本地运行?在本地IIS上,或者您是否使用开发人员iis express。最后一个,由visual studio开始配置为Windows身份验证。当您部署到IIS时,您需要相同的设置 –