Hangi kullanıcıların bir siteyi görüntüleyebildiğini denetleyen özel bir HttpModule oluşturmaya çalışıyorum.Özel Kimlik Doğrulama için bir HttpModule, Windows Kimlik Doğrulaması ile nasıl etkileşimde bulunur?
Bunu yapmak için Windows Kimlik Doğrulama'dan yararlanmaya çalışıyorum.
if (HttpContext.Current.User.Identity.Name.Contains("jsmith"))
{
Response.Write("You do not have the correct permissions to view this site.");
Response.End();
}
Ama uygulama düzeyinde bu daha yapılandırılabilir yapmak istiyorum çünkü ben HttpModule'ü kullanmak istiyorum: Tek bir sayfada
, muhtemelen böyle bir şey yapmak istiyorum.using System;
using System.Web;
public class CustomAuthHttpModule : IHttpModule
{
public void Dispose() { }
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(OnBeginRequest);
context.EndRequest += new EventHandler(OnEndRequest);
}
void OnBeginRequest(object sender, EventArgs e) { }
void OnEndRequest(object sender, EventArgs e)
{
HttpApplication appObject = (HttpApplication)sender;
HttpContext contextObject = appObject.Context;
if (contextObject.User.Identity.Name.Contains("jsmith"))
{
contextObject.Response.Clear();
contextObject.Response.End();
}
}
}
ben OnBeginRequest() fonksiyonunda koyabilirsiniz, ben var kodu kullanarak ile iyi olurdu: Burada
kod üzerinde yapmış başlangıçtır. Ancak, User özelliği, OnEndRequest() işlevi çalışana kadar HttpContext nesnesinde oluşturulmaz.Kodun daha önceden çalıştırılması, uygulamanın bu çıktının üretilmesiyle ilgili fazladan iş yapmasını engelleyecektir, çünkü bazı kullanıcılar yalnızca son erişimden engellenecektir.
Birisi buna bir çözüm önerebilir - bunun nedeni, modülümün Windows Auth modülünden önce çalıştığı, ya da ne?
... Ya da IIS veya dosya sistemi izinleri ile yapmaya çalıştığım şeyi yapmak için daha kolay bir yol var mı?
IIS bunu sizin için izin sadece Yüklü bir nedeni var mı? Veya web.config sayfanızdaki 'yetkilendirme 'özelliklerini kullanın? – CodingGorilla
Ne demek istediğini açıklayabilir misin? Orada ne hakkında konuştuğunuzu görmek için özelliklerine bakacağım. IIS bunu benim için nasıl yapar? –
vwfreak
''! Muhteşem. Bu bir cevap olup olmamışsa, bunu bir cevap olarak işaretlerdim. Teşekkürler! –
vwfreak