begin process at 2012 05 28 13:16:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

Autre

 > 

Sécurité ASP.net - Forms Authentication


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Sécurité ASP.net - Forms Authentication

jeudi 9 novembre 2006 à 00:59:56 | Sécurité ASP.net - Forms Authentication

carlos95


J'essaie de mettre en place une application web sécurisée par un formulaire d'authentification. Mais je rencontre un problème pour décrypter les rôles savegardés dans mon cookie d'authentification.

Voici mon fichier web.config :

<

authenticationmode="Forms">

<

formsname="AuthCookie"loginUrl="login.aspx?fonction=connect"protection="Encryption"slidingExpiration="true"timeout="10"path="/"></forms>

</

authentication>
-------------------------------------------------------------------------------------------------------------------------------------------------

La page login.aspx possède un contrôle d'authentification. Une fois authentifié je sauvegarde les informations utilisateur (user Id & roles) dans un cookie :



string

[] roles = null;

string roles_a_plat = "";

string separateur_roles = @"|";

AbbottRoleProvider arp = newAbbottRoleProvider();

roles = arp.GetRolesForUser(providerTest.UserName.ToUpper());

foreach (string roletest in roles)

{

   if (roles_a_plat == "")

   {

      roles_a_plat = roletest;

   }

   else

   {

      roles_a_plat += separateur_roles + roletest;

   }

}

// Creation du ticket d'authentification

FormsAuthenticationTicket authTicket = newFormsAuthenticationTicket(

1,

// version

providerTest.UserName.ToUpper(),

// user name

DateTime.Now, // creation

DateTime.Now.AddMinutes(10),// Expiration

true, // Persistent

roles_a_plat,

"/"); // User data

// Cryptage du ticket.

string encryptedTicket = FormsAuthentication.Encrypt(authTicket);

// Create du cookie et ajout du ticket Crypté

HttpCookie authCookie = newHttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);

// Add the cookie to the outgoing cookies collection.

Response.Cookies.Add(authCookie);


Lorsque j'éxecute le code via le debugger j'ai la variable roles_a_plat = "USER|ADMIN" / la variable providerTest.Username = "marqucx"

encryptedTicket ="

84D16FFA989B09F36DB9DB0E5476111B1C4798D482A277120F80D6FD287DFE3B7CFEB534AE30C20A322C6BB01BF4A447F471B3968B5F8E09696275C7EC2207004AF9A0FF242148C92D86DAFD9ADE248E

"

---------------------------------------------------------------------------------------------------------------------------------------------

J'ai modifié le fichier Global.asax de manière à intercepter les authentifications de l'application :


protectedvoid Application_AuthenticateRequest(Object sender, EventArgs e)

{

// Extract the forms authentication cookie

string cookieName = FormsAuthentication.FormsCookieName;

HttpCookie authCookie = Context.Request.Cookies[cookieName];

string[] roles = null;

if (null == authCookie)

{

// There is no authentication cookie.

return;

}

FormsAuthenticationTicket authTicket = null;

try

{

authTicket =

FormsAuthentication.Decrypt(authCookie.Value);

int intVersion = authTicket.Version;

roles = authTicket.UserData.Split(

newchar[] { '|' });

}

catch(Exception ex)

{

// Log exception details (omitted for simplicity)

return;

}

if (null == authTicket)

{

// Cookie failed to decrypt.

return;

}

// Create an Identity object

FormsIdentity id = newFormsIdentity(authTicket);

}




-----------------------------------------------------------------------------------------------------------------

Bizarrement la variable intVersion = 2 alors que ça a été crée en version 1.

La variable authTicket.UserData = "". ON ne récupère pas les rôles sauvegardés dans le cookie.

la variable authTicket.Name = "marqucx". id.Name = "marqucx".


Je ne comprends pas pourquoi il a changé de version et pourquoi on sauvegarde le user mais pas les rôles.

Carlos


Cette discussion est classée dans : string, cookie, roles, authticket, authcookie


Répondre à ce message

Sujets en rapport avec ce message

Cookie [ par Arken ] Quelqu'un aurait-il un exemple ASP utilsant un cookie pour récupérer le champ (zone de texte) dans un formulaire et récupérer ce cookie par la suite javascript cookie VS asp cookie [ par leegend ] Salut a tout les développeurs du monde!j'ai créé un cookie dans mon fichier global.asa et il a la structure suivante:Response.Cookies("logiweb")("numé PB ac cookie [ par DjBébert ] Hello,Je souhaite utiliser des cookies pour faire des stas sur mon site un peu comme statserver, mais je n'arriva pas à crér ce fichu cookie, j'ai ess session et cookie [ par hamada ] bonjour à tous,J'aimerais avoir des informations concernant les sessions et les cookie (nombre maxi des cookie dans une page asp ,le temps maxi pour q Gérer un Cookies [ par Francois_Pignon ] Je voudrais récupérer le nom de l'utilisateur quand il revient sur la page de formulaire... il faut donc :1)Ecrire le cookie lorsqu'il click sur le bo Conversion String -> Long [ par mikkey ] Bonjour !Tout est dans le titre ; comment convertir un String en Long ?Merci d'avance.Michael vérifier le contenu d'un string [ par fraise ] Avant de faire un UPDATE de ma base de donnée access, je dois vérifier que mon string ne contient pas d'apostrophe ou de guillemets. En PHP, il me se asp/Access, tant qu'y a du string ca va, mais apres... [ par droppy ] bonjour, voila je fais un formulaire html utilisant une fiche asp pour ecrire sur une base access. tout va bien pour les strings mais je ne sais pas c Expiration de Cookie demandant une chaine [ par Silfried ] Je suis en train d'essayer de retirer des éléments d'un panier. Malheureusement je peux retirer le premier élément du panier, mais le code demande une Retrait de Cookie demandant une chaine [ par Silfried ] Je suis en train d'essayer de retirer des éléments d'un panier. Malheureusement je peux retirer le premier élément du panier, mais le code demande une


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,104 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales