2012-01-12 1 views
2

J'ai spécifié des verbes pour les rôles dans web.config. Cela fonctionne très bien, l'observateur de rôle est redirigé vers la page de connexion si le rôle tente de publier dans la page Test.aspx. Exemple:Authentification par formulaire. Obtenir le verbe autorisé pour un rôle spécifié dans web.config

<location path="Test1.aspx"> 
    <system.web> 
     <authorization> 
     <allow roles="Administrator" /> 
     <allow roles="Observer" verbs="GET" /> 
     <deny users="*"/> 
     </authorization> 
    </system.web> 
    </location> 

    <location path="Test2.aspx"> 
    <system.web> 
     <authorization> 
     <allow roles="Administrator" /> 
     <allow roles="Observer" /> 
     <deny users="*"/> 
     </authorization> 
    </system.web> 
    </location> 

Mais ceci est un peu déroutant pour l'utilisateur lors d'une tentative de POST dans la page Test.aspx. Je veux informer l'utilisateur qu'il n'est pas autorisé à poster avant de cliquer sur quoi que ce soit. Quelque chose comme ceci:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If *Not User.Role("Observer").Verbs("Post").Allowed* then 
     uiSave.enabled = false 
    End if 
End Sub 

Donc, la question est: Où puis-je accéder à cette information?

Répondre

0

Utilisation:

if(User.IsInRole("Observer")){ 
//code here 
} 

Example here

Vous n'aurez pas besoin de vérifier le Verbe parce que vous savez déjà que les utilisateurs dans le rôle d'observateurs ne pas la permission de Utilisezlesboutons Poster verbe

+0

Ah, mais je vais avoir des rôles qui ont un accès complet à certaines pages et seulement accéder à certains. – user1145002

+0

Mis à jour à la question originale pour expliquer mieux – user1145002

+0

Mmm, OOB je ne pense pas qu'il y ait un moyen. Vous devrez peut-être écrire votre propre logique sur celui-là. – robasta

Questions connexes