FormsAuthentication Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Управляет службами проверки подлинности форм для веб-приложений. Этот класс не наследуется.
public ref class FormsAuthentication sealed
public sealed class FormsAuthentication
type FormsAuthentication = class
Public NotInheritable Class FormsAuthentication
- Наследование
-
FormsAuthentication
Примеры
В следующем примере кода показан файл Web.config для приложения ASP.NET, использующего поставщик членства ASP.NET для проверки подлинности форм и требующий проверки подлинности всех пользователей.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
</system.web>
</configuration>
В следующем примере кода показана страница входа для приложения ASP.NET, использующего проверку подлинности форм и ASP.NET членство.
Important
В этом примере содержится текстовое поле, которое принимает входные данные пользователя, которое является потенциальной угрозой безопасности. По умолчанию ASP.NET веб-страницы проверяют, что входные данные пользователя не включают скрипт или ЭЛЕМЕНТЫ HTML. Дополнительные сведения см. в разделе "Обзор эксплойтов скриптов".
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void Login_OnClick(object sender, EventArgs args)
{
if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
else
Msg.Text = "Login failed. Please check your user name and password and try again.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub Login_OnClick(sender As Object, args As EventArgs)
If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
Else
Msg.Text = "Login failed. Please check your user name and password and try again."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
Комментарии
Проверка подлинности форм позволяет проверять пользователей и пароль для веб-приложений, которые не требуют проверка подлинности Windows. При проверке подлинности форм сведения о пользователе хранятся во внешнем источнике данных, например Membership в базе данных или в файле конфигурации для приложения. После проверки подлинности пользователя проверка подлинности форм сохраняет запрос проверки подлинности в файле cookie или URL-адресе, чтобы прошедший проверку подлинности пользователь не должен предоставлять учетные данные для каждого запроса.
Проверка подлинности форм включена путем задания mode атрибута элемента Forms. Вы можете требовать, чтобы все запросы к приложению содержали действительный запрос проверки подлинности пользователя с помощью элемента конфигурации авторизации , чтобы запретить запрос любому неизвестному пользователю, как показано в следующем примере.
<system.web>
<authentication mode="Forms">
<forms loginUrl="login.aspx" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
В предыдущем примере любой запрос на страницу ASP.NET, которая является частью приложения, требует допустимого имени пользователя, предоставленного проверкой подлинности форм. Если имя пользователя не существует, запрос перенаправляется в настроенный LoginUrl.
Класс FormsAuthentication предоставляет доступ к методам и свойствам, которые можно использовать в приложении, которое проверяет подлинность пользователей. Метод RedirectToLoginPage перенаправляет браузер на настроенный LoginUrl для входа пользователей в приложение. Метод RedirectFromLoginPage перенаправляет прошедшего проверку подлинности пользователя обратно в исходный защищенный URL-адрес, который был запрошен или в DefaultUrl. Существуют также методы, позволяющие управлять билетами проверки подлинности форм при необходимости.
Конструкторы
| Имя | Описание |
|---|---|
| FormsAuthentication() |
Инициализирует новый экземпляр класса FormsAuthentication. |
Свойства
| Имя | Описание |
|---|---|
| CookieDomain |
Возвращает значение домена файла cookie проверки подлинности форм. |
| CookieMode |
Возвращает значение, указывающее, настроено ли приложение для проверки подлинности без файлов cookie. |
| CookieSameSite |
Возвращает или задает значение атрибута SameSite файла cookie. |
| CookiesSupported |
Возвращает значение, указывающее, настроено ли приложение для поддержки проверки подлинности без файлов cookie. |
| DefaultUrl |
Возвращает URL-адрес, на который FormsAuthentication будет перенаправлен класс, если URL-адрес перенаправления не указан. |
| EnableCrossAppRedirects |
Получает значение, указывающее, можно ли перенаправить прошедших проверку подлинности пользователей на URL-адреса в других веб-приложениях. |
| FormsCookieName |
Возвращает имя файла cookie, используемого для хранения билета проверки подлинности форм. |
| FormsCookiePath |
Возвращает путь к файлу cookie проверки подлинности форм. |
| IsEnabled |
Возвращает значение, указывающее, включена ли проверка подлинности форм. |
| LoginUrl |
Получает URL-адрес страницы входа, на которую FormsAuthentication будет перенаправлен класс. |
| RequireSSL |
Возвращает значение, указывающее, требуется ли ssl-файл cookie для проверки подлинности форм для возврата на сервер. |
| SlidingExpiration |
Возвращает значение, указывающее, включен ли срок действия скольжения. |
| TicketCompatibilityMode |
Возвращает значение, указывающее, следует ли использовать согласованное универсальное время (UTC) или местное время для даты окончания срока действия билета. |
| Timeout |
Получает время до истечения срока действия билета проверки подлинности. |
Методы
| Имя | Описание |
|---|---|
| Authenticate(String, String) |
Устаревшие..
Проверяет имя пользователя и пароль для учетных данных, хранящихся в файле конфигурации для приложения. |
| Decrypt(String) |
FormsAuthenticationTicket Создает объект на основе зашифрованного билета проверки подлинности форм, переданного методу. |
| EnableFormsAuthentication(NameValueCollection) |
Включает проверку подлинности форм. |
| Encrypt(FormsAuthenticationTicket) |
Создает строку, содержащую зашифрованный билет проверки подлинности форм, подходящий для использования в файле cookie HTTP. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetAuthCookie(String, Boolean, String) |
Создает файл cookie проверки подлинности для заданного имени пользователя. Это не задает файл cookie как часть исходящего ответа. |
| GetAuthCookie(String, Boolean) |
Создает файл cookie проверки подлинности для заданного имени пользователя. Это не задает файл cookie как часть исходящего ответа, чтобы приложение могло иметь больше контроля над тем, как создается файл cookie. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetRedirectUrl(String, Boolean) |
Возвращает URL-адрес перенаправления для исходного запроса, вызвавшего перенаправление на страницу входа. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| HashPasswordForStoringInConfigFile(String, String) |
Устаревшие..
Создает хэш-пароль, подходящий для хранения в файле конфигурации на основе указанного алгоритма хэша и пароля. |
| Initialize() |
Инициализирует FormsAuthentication объект на основе параметров конфигурации для приложения. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| RedirectFromLoginPage(String, Boolean, String) |
Перенаправляет пользователя, прошедшего проверку подлинности, обратно на запрошенный URL-адрес или URL-адрес по умолчанию, используя указанный путь к файлу cookie для проверки подлинности форм. |
| RedirectFromLoginPage(String, Boolean) |
Перенаправляет прошедшего проверку подлинности пользователя обратно на исходный запрошенный URL-адрес или URL-адрес по умолчанию. |
| RedirectToLoginPage() |
Перенаправляет браузер на URL-адрес входа. |
| RedirectToLoginPage(String) |
Перенаправляет браузер на URL-адрес входа с указанной строкой запроса. |
| RenewTicketIfOld(FormsAuthenticationTicket) |
Условно обновляет дату и время проблемы, а также дату и время FormsAuthenticationTicketокончания срока действия. |
| SetAuthCookie(String, Boolean, String) |
Создает билет проверки подлинности для указанного имени пользователя и добавляет его в коллекцию файлов cookie ответа, используя предоставленный путь к файлу cookie или url-адрес, если вы используете проверку подлинности без файлов cookie. |
| SetAuthCookie(String, Boolean) |
Создает запрос проверки подлинности для указанного имени пользователя и добавляет его в коллекцию файлов cookie ответа или URL-адрес, если вы используете проверку подлинности без файлов cookie. |
| SignOut() |
Удаляет запрос проверки подлинности форм из браузера. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |