2016-03-22 26 views
1

Kullanıcılarını bir Hizmet Hesabı aracılığıyla doğrulayan bir web uygulamasına sahibim. Yerel makinemde, orada bulunanlara ve yetkisiz kişilerin korunmasına izin verir. Ancak, bir web sunucusuna yüklediğimde, SA'yı hiç tanımıyor. Bir fikrin neden? İşte ne var:Hizmet Hesabı Yerel makinede çalışıyor ancak Web sunucusunda çalışmıyor

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; 
} 

Yapılandırma:

web sunucusunda
<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 Özellikle bunun için kurulum havuzda Kimlik altında hizmet hesabının kimlik ve şifre ile kurulum Uygulama ama onu tanımak değil ve kimlik doğrulama sürecini asla geçmez.

Herhangi bir öneriniz var mı?

+0

Ne demek ile yerel olarak çalışır? Yerel bir IIS'de veya geliştiricinin iis express'ini kullanıyorsunuz. Görsel stüdyo tarafından başlatılan son, windows kimlik doğrulaması için yapılandırıldı. IIS'ye dağıttığınızda, aynı ayarlara ihtiyacınız var –

cevap

0

Windows kimlik doğrulamasını, kimliğe bürünme özelliğini etkinleştirip uygulamanızın yanlış olduğunu kontrol edip etmediğinizi kontrol edin.
iis -> uygulamanıza tıklayın -> panelden kimlik doğrulamayı seçin.

İlgili konular