Ben Form kimlik doğrulaması kullanmalıdır olup Windows kimlik bir ActiveDirectoryMembershipProvider
erişmek için bir ASP.NET sitesi var. Site, Windows kimlik doğrulamasının kullandığı tarayıcı kimlik doğrulama penceresinin yerine tasarlanmış bir giriş formuna ihtiyaç duydukları için form kullanmalıdır.Impersonate kullanarak form kimlik
site kullanıcı kullanıcının belirli dosyalara erişmek için Active Directory üzerinden oturum taklit gerekiyor. Ben kendi özel izinleri almak için AD kullanıcı olarak taklit gerekir çünkü WindowsIdentity.Impersonate()
LoginUser()
kullanabilir ve olamaz
<authentication mode="Forms">
<forms loginUrl="login.aspx" timeout="480"/>
</authentication>
<identity impersonate="true" />
: benim web.config içerir, ancak bununla
,WindowsIdentity.GetCurrent()
HttpContext.Current.User.Identity
aynı değildir formlar giriş yapma ilgilenir çünkü, ben kullanıcının şifresini bilmiyorum.
Login.aspx.cs belki mümkün mü, System.Web.UI.WebControls.Login.Password
almaya, sonraiçin bir oturum değişkeninde LoginUser()
belirteci kurtarmakdaha sonra? Ya da belki doğru yolu taklit etmenin daha güvenli bir yöntemi? Aklım karıştı
neden kimlik doğrulama otomatik <identity impersonate="true" />
Bu http://msdn.microsoft.com/en-us/library/ms998351.aspx okudum olamaz ama Windows kimlik doğrulaması kullanır Forms.
İşte kullandığım geçici çözüm: Ben o zaman) (DirectorySecurity.GetAccessRules aracılığıyla her dosya veya klasörün izinlerini almak denetlemek, dosyalara ıuser_ erişim verdi. Erişim kurallarında 'FileSystemAccessRule.Value ==" DOMAIN \\ "+ Page.User.Identity.Name" ise, o dosyayı veya klasörü bir listeye ekliyorum. Son olarak dosya listesini görüntülüyorum. Dolayısıyla, kimliğe bürünme yerine, IUSR_ tam erişimini veriyorum ve erişim için kullanıcının erişmesi gereken şeylere el ile izinleri kontrol ediyorum. – Robert