ASP.NET Forms Authorization - PullRequest
       46

ASP.NET Forms Authorization

0 голосов
/ 25 августа 2008

Я работаю над сайтом, созданным на чистом HTML и CSS, и мне нужен способ ограничить доступ к страницам, расположенным в определенных каталогах на сайте. Решение, которое я придумал, было, конечно, ASP.NET Forms Authorization. Я создал форму входа в Visual Studio по умолчанию и настроил пользователей, роли и ограничения доступа с помощью мастера Visual Studio. Проблема в том, что я не могу войти на сайт с учетными данными, которые я установил.

Я использую IIS 7.

Ответы [ 5 ]

2 голосов
/ 25 августа 2008

Я бы предположил (поскольку у меня нет удобного банкомата IIS7), что вам нужно отключить анонимную аутентификацию и включить проверку подлинности с помощью форм в разделах IIS7.

0 голосов
/ 16 мая 2009

Стив,

Не думаю, что проблема связана с вашими настройками IIS. Поскольку проверка подлинности с помощью форм не основывается на проверке подлинности IIS, необходимо настроить анонимный доступ для своего приложения в IIS, если вы собираетесь использовать проверку подлинности с помощью форм в приложении ASP.NET.

Попробуйте это в своем web.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="~/login.aspx" defaultUrl="~/">
        <credentials passwordFormat="Clear">
          <user name="YourUsername" password="superSecret" />
        </credentials>
      </forms>
    </authentication>
    <authorization>
      <deny users="?"/>
    </authorization>
  <system.web>
</configuration>

Существуют более эффективные способы реализации проверки подлинности на основе форм, чем жесткое кодирование имени пользователя и пароля в вашем файле web.config, но это должно помочь вам начать работу.

0 голосов
/ 25 августа 2008

В какой момент вы указали свой логин / пароль? Вы смотрели на таблицы, которые были созданы? Хотя ваш пароль должен быть зашифрован, возможно, стоит просто проверить, действительно ли ваш пользователь создан.

Аутентификация с помощью форм не требует какой-либо формы пользовательской базы данных.

Стив, не могли бы вы вставить в раздел web.config аутентификации форм, а также любой соответствующий код для используемого вами элемента управления ASP.NET Login.

Недостаточно информации для устранения неполадок:)

0 голосов
/ 25 августа 2008

Насколько я могу судить, раздел web.config довольно бесполезен:

<authentication mode="Forms" />

Я посмотрел в IIS 7, и в разделе «Аутентификация» написано: «Анонимная аутентификация = включено», «Олицетворение ASP.NET = отключено», «Обычная проверка подлинности» = отключено, «Проверка подлинности с помощью форм» = отключена.

Кроме того, я не внес никаких изменений в код, кроме перетаскивания объекта Login на дизайнер и изменения страницы, на которую он указывает, на index.html.

В настоящее время происходит сбой входа в систему, отображая текст ошибки в журнале.

РЕДАКТИРОВАТЬ: Ранее, когда я пытался перейти непосредственно на страницу с ограниченным доступом, я получал синюю страницу о том, что у меня недостаточно разрешений. Теперь я могу видеть страницы, на которые есть ограничения, без входа в систему, даже если у меня нет доступа.

0 голосов
/ 25 августа 2008

В какой момент вы указали свой логин / пароль? Вы смотрели на таблицы, которые были созданы? Хотя ваш пароль должен быть зашифрован, возможно, стоит просто проверить, действительно ли ваш пользователь был создан.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...