Ce sujet n'a pas encore été évalué - Évaluez ce sujet

FormsAuthentication, classe

Gère les services d'authentification par formulaire pour les applications Web. Cette classe ne peut pas être héritée.

Espace de noms : System.Web.Security
Assembly : System.Web (dans system.web.dll)

public sealed class FormsAuthentication
public final class FormsAuthentication
public final class FormsAuthentication

L'authentification par formulaire permet la validation de l'utilisateur et du mot de passe pour les applications Web qui ne requièrent pas l'authentification Windows. Avec l'authentification par formulaire, les informations utilisateur sont stockées dans une source de données externe, telle qu'une base de données Membership, ou dans le fichier de configuration d'une application. Une fois qu'un utilisateur est authentifié, l'authentification par formulaire conserve un ticket d'authentification dans un cookie ou dans l'URL, ce qui évite à l'utilisateur d'avoir à fournir ses informations d'identification à chaque demande.

L'authentification par formulaire est activée en affectant à l'attribut mode de l'élément de configuration authentication la valeur Forms. Vous pouvez exiger que toutes les demandes faites à une application contiennent un ticket d'authentification d'utilisateur valide en utilisant l'élément de configuration authorization pour refuser la demande de tout utilisateur inconnu, comme indiqué dans l'exemple suivant.

<system.web>
  <authentication mode="Forms">
    <forms loginUrl="login.aspx" />
  </authentication>
  <authorization>
    <deny user="?" />
  </authorization>
</system.web>

Dans l'exemple précédent, toute demande de page ASP.NET faisant partie de l'application requiert un nom d'utilisateur valide fourni par l'authentification par formulaire. S'il n'existe aucun nom d'utilisateur, la demande est redirigée vers le LoginUrl configuré.

La classe FormsAuthentication fournit l'accès aux méthodes et aux propriétés que vous pouvez utiliser dans une application authentifiant les utilisateurs. La méthode RedirectToLoginPage redirige un navigateur vers le LoginUrl configuré pour permettre aux utilisateurs de se connecter à une application. La méthode RedirectFromLoginPage redirige un utilisateur authentifié vers l'URL d'origine qu'il a demandée ou vers le DefaultUrl. Certaines méthodes vous permettent également de gérer des tickets d'authentification par formulaire, le cas échéant.

L'exemple de code suivant affiche le fichier Web.config d'une application ASP.NET qui utilise le fournisseur d'appartenances d'ASP.NET pour l'authentification par formulaire et exige que tous les utilisateurs soient authentifiés.

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

L'exemple de code suivant affiche la page de connexion d'une application ASP.NET qui utilise l'authentification par formulaire et l'appartenance d'ASP.NET (membership).

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>

<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>
<head>
  <title>Login</title>
</head>
<body>

<form runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><P>

  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 <u>not</u> a public computer.

</form>

</body>
</html>

  • AspNetHostingPermission  Utiliser la classe FormsAuthentication dans un environnement hébergé. Valeur de la demande : LinkDemand. Valeur d'autorisation : Minimal.
System.Object
  System.Web.Security.FormsAuthentication
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ