ASP.NET ile Microsoft Index Server Kayıtlarını Sorgulamak

ASP.NET ile Microsoft Index Server Kayıtlarını Sorgulama ile ilgili internette bir çok kaynak mevcut. Bende size buradan bir kaç link vereceğim. Ancak asıl değinmek istediğim konu ASP.NET ile Index Server datalarını sorgulayan bir arayüz yazdığınızda indexlenen klasörlerde güvenlik ayarları değiştirilmiş ise problemlerin başladığı noktadasınız demektir.

ACL (access control list) mutlaka bir çoğunuz duymuşsunuzdur yani erişim kontrol listesi. Hemem hemen bir çok işletim sisteminde dosya ve dizinlerin okuma, yazma, değiştirme vs izinlerinin tutulduğu sisteme verilen genel bir ad. Burada ilginç olan durum ise Windows Index Servis te indexlenen datalardaki ACL bilgilerinin saklandığıdır. Yani siz siz olun Windows Index Servis datalarına veritabanı muamelesi yapmayın. Zira veritabanı mantığında düşündüğünüzde indexlenen ve sizin kriterlerinize uyan kayıtların sorgu sonucunda gelmemesi çok mantıksızca gelebilir.

Örnekle açıklamak gerekirse, indekslenmiş dizinlerde güvenlik ayarları değiştirilmiş ise indexlenen kayıtlarda bu ACL bilgileri de saklanmakta. Sizin yazdığınız ASP.NET uygulması da bu katalog bilgilerini sorgularken IUSR_makinaismi kullanıcısını kullanmaktadır. Büyük ihtimalle güvenlik ayarları değiştirilmiş biz dizinde IUSR_makinaismi kullanıcısının yetkileri de kaldırılmıştır. Ve siz sorguladığınızda hiç bir kayıt dönmeyebilir. Bunun sağlamasını Windows Yönetim Konsolundaki Index Service Query bölümünündeki sorulama formunu kullanarak yapabilirsiniz. Hem web den hemde windowstan aynı sonuçları alıyorsanız sisteminiz doğru çalışıyor demektir.

Eğer sonuçlar farklı ise özellikle indekslemeye başlamadan önce indexlenecek tüm klasörler için IUSR_makinaismi kullanıcısına yetki vermeniz (en azından okuma yetkisi) gerekir. Daha sonra indexlemeyi başlattığınızda (tecrübe ile sabit 🙂 çalışıyor) veya mevcut index i güncellediğinizde (bu yöntemi test etmedim sanırım çalışır) indexlenen datalar üzerinde ASP.NET uygulamasının da sorgulama yetkileri olacaktır.

ASP.NET ile Microsoft Index Server uygulamalarına ait örneklerini aşağıdaki adreslerde bulabilirsiniz.

http://www.codeproject.com/KB/database/indexingservice.aspx

http://www.c-sharpcorner.com/UploadFile/sushil%20saini/UsingIndexServer11262005045132AM/UsingIndexServer.aspx

http://www.codeproject.com/KB/aspnet/search.aspx

http://support.microsoft.com/kb/820105

 

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestShare on RedditDigg thisEmail this to someonePrint this page

Post Author: mustafaozcan

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir