Question

Quel est le meilleur moyen pour autoriser tous les utilisateurs à une seule page dans un asp.net site web.

Pour l'exception de la page de connexion et une autre page, je renonce à tous les utilisateurs de visualisation des pages du site web.

Comment faire pour que cette page est accessible à tous les utilisateurs?

Était-ce utile?

La solution

J'ai été en utilisant l'authentification de formulaires et de la création de la nécessaire GenericIdentity et CustomPrincipal objets qui me permet de tirer parti de l'Utilisateur.IsInRole fonctions de type général que de l'authentification Windows.

De cette façon, dans mon web.fichier de config, je peux faire des trucs comme...

<location path="Login.aspx">
   <system.web>
      <authorization>
         <allow users ="*" />
      </authorization>
   </system.web>
</location>

<location path="ManagementFolder">
   <system.web>
      <authorization>
         <allow roles ="Administrator, Manager" />
      </authorization>
   </system.web>
</location>

Autres conseils

J'ai créé une base de "page" de la classe qui gère ce genre de chose.Toutes mes pages peuvent ensuite être décorés avec de la RequiresLogin attribut si une connexion est nécessaire pour les afficher.Si l'attribut n'est pas présent, la page est accessible à tous.

Exemple:

<RequiresLogin()> _ 
<RequiresPermission("process")> _
Partial Class DesignReviewEditProgressPage
    Inherits MyPage 'which inherits System.Web.UI.Page and deal with logins itself

    ...
End Class

Le Mapage classe vérifie quels sont les attributs sont marqués à lui-même et si RequiresLogin est présent, il vous envoie vers une page de connexion.

Je crois que ce pourrait être adapté à votre propre problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top