Где находится файл .ASPXAUTH? - PullRequest
9 голосов
/ 19 мая 2010

В предупреждении JavaScript (document.cookie); не показывает .ASPXAUTH Cookie, хотя его показывает сниффер,

Мне это нужно, потому что у меня есть AJAX-запрос к серверу, запрос не должен выполняться, когда пользователь уже вошел в систему,

если я не могу проверить .ASPXAUTH по соображениям безопасности, что я должен сделать, чтобы проверить, вошел ли пользователь в систему.

Спасибо

Ответы [ 2 ]

9 голосов
/ 19 мая 2010

Файл cookie аутентификации помечен только для http, что означает, что javascript не может получить к нему доступ. Если вы хотите проверить, аутентифицирован ли пользователь, просто выведите переменную javascript, скрытое поле или все, что вы предпочитаете, из своего кода. Вы можете легко проверить это в JS.

4 голосов
/ 19 мая 2010

Существует набор файлов cookie .ASPXAUTH, вы, очевидно, правы. Он используется для определения, вошел ли пользователь в систему.

Чтобы получить то, что вам нужно, просмотрите ваш web.config для раздела конфигурации:

<authentication mode="Forms">
      <forms
                loginUrl="~/login.aspx"
                protection="All"
                timeout="30"
                name="ExampleSite.FormsAuthentication"
                path="/"
                requireSSL="false"
                slidingExpiration="true"
                defaultUrl="index.aspx"
                cookieless="UseDeviceProfile"
                enableCrossAppRedirects="false"
                />
    </authentication>

Когда пользователь успешно аутентифицирован, файл cookie будет установлен на основе параметра name = "ExampleSite.FormsAuthentication". Срок его действия истечет после выхода из системы или после окончания сеанса. Вы увидите файл cookie в Chrome / FFX или любом другом используемом вами браузере с именем ExampleSite.FormsAuthentication с зашифрованным значением. Очевидно, что используемый вами параметр имени будет другим, а не ExampleSite.FormsAuthentication, но вы поймете, что идея.

Вы всегда можете проверить и проверить, существует ли cookie. Как уже упоминалось, будьте осторожны с http-only (по отношению к JS). Вы также можете переопределить это значение в файле web.config, чтобы получить к нему доступ с помощью JS.

<httpCookies httpOnlyCookies="false" requireSSL="false" domain="" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...