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)

Применяется к

См. также раздел