Eng | Rus
 
Обучение -> Решения -> Аутентификация на базе форм в IIS 7
 
 
 
Simple Seo Solutions
SEO и Продвижение
сайтов
Speechpad.ru
Голосовой набор текстаГолосовой набор текста

Аутентификация на базе форм в интегрированном режиме IIS 7

Новый интегрированный режим IIS 7 позволяет закрыть все содержимое директории для неавторизованного доступа (html, php, aspx, и.т.д.).

Простейшие шаги для установки аутентификации на базе форм в интегрированном режиме IIS 7:

1. Переключить веб сайт в интегрированный режим IIS 7, большинство хостинг провайдеров предоставлюят специальный интерфейс для этого.
2. Создать файл web.config в корне веб сайта:

<?xml version="1.0" encoding="utf-8"?>

<configuration>

<system.web>

<authentication mode="Forms">
<forms name="someCookieName" loginUrl="/login.aspx">
<credentials passwordFormat="Clear">
<user name="alex" password="alex" />
</credentials>
</forms>
</authentication>

</system.web>
<system.webServer>
<modules>
<remove name="FormsAuthenticationModule" />
<add name="FormsAuthenticationModule" type="System.Web.Security.FormsAuthenticationModule" />
<remove name="UrlAuthorization" />
<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
<remove name="DefaultAuthentication" />
<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" />
</modules>
<security>

<authentication>
<basicAuthentication enabled="false" />
<windowsAuthentication enabled="false" />
<anonymousAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</configuration>

3. Создать страницу login.aspx в корне сайта и вставить в нее элемент управления Login.
4. Создать событие Login1_Authenticate для этого элемента (просто щелкнуть на его кнопку Login in) и написать в нем:

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
if (FormsAuthentication.Authenticate(Login1.UserName, Login1.Password))
FormsAuthentication.RedirectFromLoginPage(Login1.UserName, true);
else
Login1.FailureText = "can not auth";
}

p.s. Нужно также включить "using System.Web.Security;" в "using".

5. Создать некоторую папку (назовем ее auth_folder) в корне веб сайта и создать в ней свой web.config файл:

<?xml version="1.0" encoding="utf-8"?>
<configuration>

<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Deny" users="?" />
<add accessType="Allow" users="*" />
</authorization>
</security>
</system.webServer>
</configuration>


6. Создать index.htm файл в папке auth_folder с некоторым текстом. Создать default.aspx файл в корне сайта и написать там что-то.

Это все. Для тестирования:
Набрать в строке браузера URL нашей закрытой папки. Нас перенаправят на страницу login.aspx
Заполнить alex как имя пользователя и alex as как пароль.
Нажать Log in - нас перенаправят на index.htm в auth_folder.

Опубликовано 9 февраля 2010

© prjsoft.ru