#javascript #asp.net #forms-authentication
#javascript #asp.net #формы-аутентификация
Вопрос:
У меня возникает asp.net приложение, которое использует аутентификацию форм.
У меня есть главная страница с некоторым javascript, который работает нормально, но всякий раз, когда я обращаюсь к loginUrl, мой javascript блокируется. Я думал, что это проблема с авторизацией, но этого не происходит с CSS главной страницы, и даже следующие директивы не помогают:
<location path="Scripts">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
У кого-нибудь есть подсказка??
Пожалуйста, пожалуйста, я в растерянности…
Спасибо
Комментарии:
1. что вы подразумеваете под заблокированным? попробуйте открыть js-адрес в браузере
2. Похоже, это не проблема с авторизацией. Пожалуйста, опубликуйте свой код страницы входа в систему о том, как вы используете / ссылаетесь на файлы js…
Ответ №1:
Возможно, вы неправильно ссылаетесь на файл Javascript (относительный каталог, который нельзя корректно разрешить со страницы входа)… проверьте, получаете ли вы файлы скрипта, используя вкладку FireBug Net, она может отображать запросы, ответы и сбои.
Ответ №2:
Введите 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
Комментарии:
1. Вероятно, для пользователя было бы лучше следовать стандартам и рекомендациям фреймворка и использовать файл web.config для предоставления разрешений папке script вместо размещения взлома в глобальном файле.asax. Особенно в этом случае, когда причина проблемы не была определена.