Role provider

Le
Delf
Bonsoir.

J'ai créé une classe ExampleRoleProvider qui hérite de RoleProvider.

J'ai implémenté GetRolesForUser() comme suit :

public override string[] GetRolesForUser(string pUsername)
{
List<string> roles = new List<string>();

roles.Add("Guest");

if (pUsername == "delf")
{
roles.Add("Admin");
roles.Add("Manager");
}

return roles.ToArray();
}

Dans une classe de Page, j'ajoute l'attribut :

[PrincipalPermission(SecurityAction.Demand, Role="Admin_")]
public partial class UserSessions : BasePage
{
//
}

J'accède à la page, j'ai bien une Security Exception.
Je rappelle la page, et là, je rentre *de nouveau* dans GetRolesForUser
().

Comportement attendu ?

Si oui, si mon provider se base sur une DB, alors je ferai à chaque
fois les accès ?!
A moi de gérer le cache ?

Pourtant, j'ai vu une propriété TrucRoleCached=true dans
HttpContext.Current.User.*.

Merci.

--
Delf
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Delf
Le #18652601
On 12 fév, 16:03, Delf
[PrincipalPermission(SecurityAction.Demand, Role="Admin_")]
public partial class UserSessions : BasePage
{
  //...

}



Quel intérêt quand on peut mettre tout simplement la section ci-
dessous dans le Web.config ?

<authorization>
<allow users="Admin_" />
<deny users="*"/>
</authorization>
</location>

Merci.

--
Delf
Fred
Le #18656431
in
news:,
Delf wrote :

On 12 fév, 16:03, Delf
[PrincipalPermission(SecurityAction.Demand, Role="Admin_")]
public partial class UserSessions : BasePage
{
//...

}



Quel intérêt quand on peut mettre tout simplement la section ci-
dessous dans le Web.config ?

<authorization>
<allow users="Admin_" />
<deny users="*"/>
</authorization>
</location>

Merci.



Bonjour,

Pour la première question, il existe un attribut cacheRolesInCookie et
un attribut cookieName pour l'élément roleManager du Web.Config

Pour la seconde question, je ne vois pas de différence.
J'utilise la première méthode dans les services web pour affiner l'accès
fonction par fonction.
Pour un accès global à une page (aspx ou asmx), j'utilise plus
volontiers le Web.Config


--
Fred

Delf
Le #18658251
On 13 fév, 06:43, "Fred"
Pour la première question, il existe un attribut cacheRolesInCookie et
un attribut cookieName pour l'élément roleManager du Web.Config



Ok, merci, je vais regarder ça.

Pour la seconde question, je ne vois pas de différence.
J'utilise la première méthode dans les services web pour affiner l'ac cès
fonction par fonction.



On peut donc utiliser l'attrubut de sécurité sur les WebMethodes, je
ne savais pas.
Intéressant, bon à savoir.

Pour un accès global à une page (aspx ou asmx), j'utilise plus
volontiers le Web.Config



Le seul avantage que je vois c'est que les droits sont dans le
compilé, difficilement modifiable par rapport au Web.config avec
Notepad =)

--
Delf
Publicité
Poster une réponse
Anonyme