Сведения о вопросе

nikolya

05:26, 15th August, 2020

Теги

asp.net   iis-7    

ASP.NET Формы Авторизации

Просмотров: 404   Ответов: 5

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

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



  Сведения об ответе

piter

21:17, 2nd August, 2020

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


  Сведения об ответе

baggs

02:44, 10th August, 2020

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


  Сведения об ответе

Chhiki

12:10, 4th August, 2020

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

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

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

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


  Сведения об ответе

ASSembler

19:58, 29th August, 2020

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

<authentication mode="Forms" />

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

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

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

EDIT: раньше, когда я пытался перейти непосредственно к странице, которая ограничена, я получал синюю страницу, говорящую, что у меня недостаточно разрешений. Теперь я могу видеть страницы, которые ограничены без входа в систему, даже если у меня есть доступ Anon отказано.


  Сведения об ответе

SSESION

02:32, 17th August, 2020

Стив,

Я не думаю, что проблема связана с вашими настройками 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, но это должно работать для начала работы.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться