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 членства.
Важно!
В этом примере содержится текстовое поле, принимающее введенные пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах 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 |
Возвращает значение, показывающее требуется ли файлам Cookie проверки подлинности с помощью форм протокол SSL для возвращения на сервер. |
SlidingExpiration |
Возвращает значение, определяющее, включен ли скользящий срок действия. |
TicketCompatibilityMode |
Получает значение, указывающее, какое время используется для даты окончания срока действия билета: в формате UTC или местное. |
Timeout |
Получает время, по истечении которого билет аутентификации прекращает действовать. |
Методы
Authenticate(String, String) |
Устаревшие..
Проверяет имя пользователя и пароль на соответствие учетным данным, хранящимся в файле конфигурации приложения. |
Decrypt(String) |
Создает объект FormsAuthenticationTicket на основе шифрованного билета проверки подлинности с помощью форм, переданных методу. |
EnableFormsAuthentication(NameValueCollection) |
Включает аутентификацию с помощью форм. |
Encrypt(FormsAuthenticationTicket) |
Создает строку, содержащую зашифрованный билет проверки подлинности с помощью форм, подходящий для использования в файле Cookie HTTP. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetAuthCookie(String, Boolean) |
Создает файл Cookie проверки подлинности для полученного имени пользователя. При этом файл Cookie не является частью исходящего ответного сообщения, поэтому приложение может более строго контролировать выдачу файлов Cookie. |
GetAuthCookie(String, Boolean, String) |
Создает файл Cookie проверки подлинности для полученного имени пользователя. Это не устанавливает файл Cookie частью исходящего ответного сообщения. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetRedirectUrl(String, Boolean) |
Возвращает URL-адрес перенаправления для первоначального запроса, вызвавший перенаправление на страницу входа. |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
HashPasswordForStoringInConfigFile(String, String) |
Устаревшие..
Формирует хэшированный пароль, подходящий для хранения в файле конфигурации, в зависимости от указанного пароля и алгоритма хэширования. |
Initialize() |
Инициализирует объект FormsAuthentication в зависимости от параметров конфигурации приложения. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
RedirectFromLoginPage(String, Boolean) |
Перенаправляет прошедшего проверку подлинности пользователя по первоначально запрошенному URL-адресу или URL-адресу по умолчанию. |
RedirectFromLoginPage(String, Boolean, String) |
Перенаправляет пользователя, прошедшего проверку на первоначально запрошенный URL-адрес или на URL-адрес, использующий указанный путь к файлу Cookie для проверки подлинности с помощью форм. |
RedirectToLoginPage() |
Перенаправляет браузер на URL-адрес страницы входа. |
RedirectToLoginPage(String) |
Перенаправляет браузер на URL-адрес страницы входа с указанной строкой запроса. |
RenewTicketIfOld(FormsAuthenticationTicket) |
Условно обновляет дату и время выдачи, и дату и время истечения срока действия FormsAuthenticationTicket. |
SetAuthCookie(String, Boolean) |
Создает билет проверки подлинности для указанного имени пользователя и добавляет его к коллекции файлов Cookie ответа или к URL-адресу, если используется проверка подлинности без файлов Cookie. |
SetAuthCookie(String, Boolean, String) |
Создает билет проверки подлинности для указанного имени пользователя и добавляет его к коллекции файлов Cookie ответа, используя заданный путь к файлу Cookie или URL-адрес, если используется проверка подлинности без cookie-файлов. |
SignOut() |
Удаляет из браузера билет проверки подлинности с помощью форм. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |