Comment définir les propriétés asp.net authentifiées

J’ai les parameters suivants dans mon fichier web.config. Il restreint fondamentalement l’access à une page si l’utilisateur n’est pas connecté. Si je ne souhaite pas utiliser les contrôles de connexion asp ou implémenter un fournisseur d’appartenance, comment puis-je “indiquer” à asp que la page loginregister.aspx a autorisé la demande si je veux mettre en place mon propre système de connexion?

Merci.

              

Après avoir validé votre utilisateur, définissez un ticket ….

  Response.Cookies.Add(TicketHelper.CreateAuthCookie(Login1.UserName, userData, Login1.RememberMeSet /*persistent cookie*/)); 

en utilisant cette classe d’assistance …

Si vous utilisez un contrôle de connexion, faites-le dans Gestionnaire d’événements authentifiés.

 using System; using System.Web; using System.Web.Security; namespace CustomAuthRepurposingFormsAuth { public static class TicketHelper { ///  /// ///  ///  /// be mindful of the cookie size or you will be chasing ghosts ///  ///  public static HttpCookie CreateAuthCookie(ssortingng userName, ssortingng userData, bool persistent) { DateTime issued = DateTime.Now; // formsAuth does not expose timeout!? have to hack around the // spoiled parts and keep moving.. HttpCookie fooCookie = FormsAuthentication.GetAuthCookie("foo", true); int formsTimeout = Convert.ToInt32((fooCookie.Expires - DateTime.Now).TotalMinutes); DateTime expiration = DateTime.Now.AddMinutes(formsTimeout); ssortingng cookiePath = FormsAuthentication.FormsCookiePath; var ticket = new FormsAuthenticationTicket(0, userName, issued, expiration, true, userData, cookiePath); return CreateAuthCookie(ticket, expiration, persistent); } public static HttpCookie CreateAuthCookie(FormsAuthenticationTicket ticket, DateTime expiration, bool persistent) { ssortingng creamyFilling = FormsAuthentication.Encrypt(ticket); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, creamyFilling) { Domain = FormsAuthentication.CookieDomain, Path = FormsAuthentication.FormsCookiePath }; if (persistent) { cookie.Expires = expiration; } return cookie; } } 
  // formsAuth does not expose timeout!? have to hack around the // spoiled parts and keep moving.. HttpCookie fooCookie = FormsAuthentication.GetAuthCookie("foo", true); int formsTimeout = Convert.ToInt32((fooCookie.Expires - DateTime.Now).TotalMinutes); 

L’authentification par formulaires expose le délai d’expiration à partir de .Net 4.0 FormsAuthentication.Timeout.TotalMinutes

Si vous ne voulez rien faire avec le système .NET, ce sera un peu difficile.

Si vous êtes d’accord avec certains, utilisez simplement “FormsAuthentication.RedirectFromLoginPage” lors de votre connexion pour définir le cookie indiquant qu’un utilisateur est connecté.