2016-03-22 98 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 - >點擊你的應用程序 - >從面板中選擇驗證。

相關問題