2016-03-22 73 views
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服务器上的设置与池中的身份下的服务帐户的凭据和密码,我专门有设置此应用程序,但它不能识别它,并且永远不会通过身份验证过程。

有什么建议吗?

+0

你是什么意思,在本地运行?在本地IIS上,或者您是否使用开发人员iis express。最后一个,由visual studio开始配置为Windows身份验证。当您部署到IIS时,您需要相同的设置 –

回答

0

检查您是否为应用程序启用了Windows身份验证,模拟并保留为false。
iis - >点击你的应用程序 - >从面板中选择验证。

相关问题