2016-03-22 11 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; 
} 

設定:Webサーバー上の

<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は、私は特にこのためにセットアップされているプール内のアイデンティティの下でサービスアカウントの資格情報とパスワードを使用して設定されそれを認識しておらず、決して認証プロセスを通過しません。

提案がありますか?

+0

ローカルで実行するとどういう意味ですか?ローカルIIS上で、または開発者iis expressを使用していますか。最後のものは、Visual Studioによって開始され、Windows認証用に設定されています。 IISに展開する場合は、同じ設定が必要です –

答えて

0

アプリケーションでWindows認証、なりすましを有効にし、残りをfalseに設定しているかどうかを確認します。
iis - >あなたのアプリケーションをクリック - >パネルから認証を選択します。

関連する問題