2010-09-10 14 views
5

Występują problemy z uwierzytelnianiem formularzy. Kiedy próbuję załadować moją stronę Login.aspx ani javascript, ani arkusze stylów nie ładują się. Oto część mojego pliku web.configUwierzytelnianie formularzy ASP.NET uniemożliwia ładowanie javascript na stronie Login.aspx

 <authentication mode="Forms"> 
     <forms loginUrl="Login.aspx" 
       timeout="30" 
       name=".ASPXAUTH" 
       path="/" 
       requireSSL="false" 
       slidingExpiration="true" 
       defaultUrl="Main.aspx" 
       cookieless="UseDeviceProfile" /> 
    </authentication> 

    <authorization> 
     <deny users="?" /> 
    </authorization> 

pomóż mi, proszę, aby zrozumieć, co się dzieje.

+0

Podejrzewam, że problem nie ładuje JavaScript i CSS nie jest związane z uwierzytelnianiem formularzy. Co FireBug mówi o tych statycznych zasobach? –

Odpowiedz

10

Musisz dodać wyjątki do tych katalogów lub plików w pliku web.config, pod elementem <configuration>.

<configuration> 
    <system.web> 
    ... 
    </system.web> 

    <location path="css"> 
    <system.web> 
     <authorization> 
     <allow users="*"/> 
     </authorization> 
    </system.web> 
    </location> 
</configuration> 
+0

Duplikat tego http://stackoverflow.com/questions/55594/css-not-being-applied-on-non-authenticated-asp-net-page – jon3laze

+0

To działa. Wielkie dzięki :) – Tror

0

Put w Global.asax

Public Sub FormsAuthentication_OnAuthenticate(ByVal sender As Object, ByVal args As FormsAuthenticationEventArgs) 
    If args.Context.Request.Path.EndsWith("js") Or args.Context.Request.Path.EndsWith("css") Then 
     Dim ObjUser As WindowsIdentity = args.Context.Request.LogonUserIdentity 
     Dim ObjPrincipal As WindowsPrincipal = New WindowsPrincipal(ObjUser) 
     args.User = ObjPrincipal 
    End If 
End Sub 
Powiązane problemy