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時,您需要相同的設置 –