Поделиться через


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)

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

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