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) |