Формирует аутентификацию с помощью JavaScript

#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. Особенно в этом случае, когда причина проблемы не была определена.