2016-03-30 43 views
0

Uygulamada şu anda kök düzeyinde bir web.config dosyası var ve bu, tüm müşteriler arasında paylaşılıyor. Bu web config dosyası tüm müşteriler için yönlendirmelere sahiptir ve bu web.config'i 1 müşteri için değiştirdiğimizde, diğer tüm müşterileri riske atıyoruz.Web.config öğelerini, kullanıcıları yeniden yönlendirmek için bir alt düzeyde kullanma

Her müşterinin, adlarından ve özelleştirmelerinin saklandığı bir ad vardır. Bu konum, herhangi bir zamanda başkalarını riske atmadan değiştirilebilen, yalnızca tek bir müşteri için yeniden yönlendirmeler içeren bir web.config dosyası için ideal yerdir.

Web.config dosyasını en düşük seviyeye koyma konusundaki şu anki denemelerim sunucu tarafından okunıyor gibi görünüyor ancak bazı nedenlerden dolayı başarısız oluyor. Web yapılandırma dosyası çok küçük ve sadece aşağıdakileri içerir:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
    <security> 
     <requestFiltering> 
     <fileExtensions> 
      <remove fileExtension="."/> 
      <add fileExtension="." allowed="true"/> 
     </fileExtensions> 
     </requestFiltering> 
    </security> 
     <rewrite> 
      <rules> 
       <rule name="test" patternSyntax="Wildcard" stopProcessing="true"> 
        <match url="www.example.com/old_website" /> 
        <action type="Redirect" url="www.example.com/new_website"/> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

Ben böyle bir düşük seviyede bir web.config dosyası olması yeterlidir mümkün olmadığını şüphelerimi var ve aynı şekilde çalışmasını bekliyoruz kök düzeyinde yapar. Ancak, eğer mümkün ve denemek için bir fikriniz varsa, bunu takdir ediyorum.

sayesinde Craig

cevap

0

O sadece ilave bir dokunuş erişim bunu yapmaya çalışacağım yolu çözme sorun ekleyeceksiniz. :)

Tüm farklı kullanıcılarla nasıl başa çıkacağınızı bilmiyorum ama sanırım bir çeşit oturum açma bilginiz var. Oturum açtıklarında, gelecekteki kullanım için ihtiyaç duyabileceğiniz bazı oturum çerezleri ayarlamanız yeterlidir. Benzer bir çözümüm var ve web.config yerine giriş yaptıkları zaman bir oturum değişkeni olarak yönlendirme yaptım. Ardından, alt klasörünüzde yalnızca giriş yapmış olan kullanıcıyı verir ve diğer tüm kullanıcıları reddedersiniz. Bu böyle bir şeye benziyor. İşte

<authorization> 
    <allow users="John"/> 
    <deny users="*"/> 
</authorization> 

klasöre John erişime izin ve herkes erişimi reddetmek.

Hata işleme söz konusu olduğunda, bunu web.config dosyasında root olarak kullanıyorum.

<system.web> 
    <customErrors mode="RemoteOnly" defaultRedirect="Error/Customerror.html"/> 
</system.web> 

uzaktan yalnızca yerel Þaþkýnlýk (web sunucusu üzerinde) hataları vermek ve varsayılan yönlendirme bir kullanıcının erişimi olmayan bir klasöre elde etmeye çalışır ayrıca zaman, ortaya çıkacak herhangi bir özel hata işleme için. Bu bir çekicilik gibi çalışır ve düzenlidir.