OVH Cloud OVH Cloud

Custom Attribute

2 réponses
Avatar
Oriane
Bonjour,

j'aimerais créer un "custom attribute" de type Method, qui me permettrait de
valider qu'une méthode peut être appelée, et potentiellement qui renvoie une
exception si la vérification échoue. Pour ceux à qui cela parle, cela
revient à émuler l'attribut:

[[PrincipalPermissionAttribute(SecurityAction.Demand, Name = "Admin1", Role
= "Administrateur")]

Je connais l'utilisation basique des attributs, mais je ne vois pas comment
faire cela...

Si vous avez des idées...

Oriane

2 réponses

Avatar
Oriane
"David Scime" wrote in message
news:%
Oriane a écrit :


[...]

Pourquoi ne pas simplement créer une méthode qui fait la vérification de
l'utilisateur.. et si l'utilisateur n'a pas le rang requis à
l'utilisation de la méthode, tu envoies une exeption..
Est-ce cela que tu veux faire? ou suis-je à côté de la plaque?


Non et oui je crois.
La méthode je l'ai déjà, elle m'est fournie par l'Entreprise Library.
Supposons que je veuille subordonner le lancement de la méthode HireEmployee
via une règle, je fais actuellement comme ceci:

public void HireEmployee (....) {
string rule = "Hire Employee";
// La ligne suivante fait la vérification, en se basant sur les rôles
de l'objet principal
if (! this.ruleProvider.Authorize (principal, rule)) {
MessageBox.Show ("Youe are not authorise to hire en employee");
return;
}
... // plenty of interesting lines
}

Moi j'aimerais écrire cela:

[PrincipalRuleAttribute Name="Hire Employee"]
public void HireEmployee (....) {

... // plenty of interesting lines
}

en utilisant ce code:

try {
HireEmployee (...)
}
catch (SecurityException e) {

}




David Scime



Avatar
Oriane
Je vous donne la réponse obtenue sur microsoft.public.dotnet.security:

"Hello Oriane,

you have to implement a custom permission to accomplish that -

maybe this is a starting point
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/HTCustEncr.asp"


"Oriane" wrote in message
news:d488h2$23f$
Bonjour,

j'aimerais créer un "custom attribute" de type Method, qui me permettrait


de
valider qu'une méthode peut être appelée, et potentiellement qui renvoie


une
exception si la vérification échoue. Pour ceux à qui cela parle, cela
revient à émuler l'attribut:

[[PrincipalPermissionAttribute(SecurityAction.Demand, Name = "Admin1",


Role
= "Administrateur")]

Je connais l'utilisation basique des attributs, mais je ne vois pas


comment
faire cela...

Si vous avez des idées...

Oriane