2008-11-28 8 views
5

Je veux faire un simple authentification de rôle dans .NET - mais je suis perdu dans la profusion des APIs ...l'authentification simple rôle dans asp.net

Je voudrais avoir un web.config par répertoire avec le rôle accès comme:

<authorization> 
    <allow roles="admin"/> 
    <deny users="*"/> 
</authorization> 

Et dans ma page de connexion, où je fais FormsAuthentication.RedirectFromLoginPage je veux préciser le rôle de l'utilisateur connecté (admin, utilisateur, etc ...) Je n'ai pas besoin pour la RoleManagementProviders et la fonctionnalité surchargée (dans mon cas) de RoleManagement.

De quelle API ai-je besoin pour spécifier le rôle d'un utilisateur?

Merci

Répondre

7

Voici un lien sur une implémentation très simple d'authentification par formulaires avec des rôles. Je crois que ce sont les formes d'authentification mise en œuvre le plus élémentaire: http://www.codeproject.com/KB/web-security/formsroleauth.aspx

Voici un sur le fournisseur d'appartenances: http://www.asp.net/learn/moving-to-asp.net-2.0/module-08.aspx Vous pourriez avoir à rechercher des tutoriels supplémentaires pour avoir une idée claire sur la façon de le personnaliser.

Je préfère le fournisseur d'appartenances car il vous permet de remplacer les valeurs par défaut et de fournir votre propre banque de données et les méthodes utilisées pour les différentes actions d'authentification. Je trouve que c'est plus facile que d'utiliser l'implémentation de base.

+0

Merci. C'est une bonne information. – LeJeune

-1

Personnellement, si vous allez utiliser la gestion des rôles et fonctionnalités utilisateur déjà présenté dans ASP.NET pourquoi essayer de pirater ensemble une solution sur la route limitera votre capacité à se développer.

Travailler avec la fonctionnalité par défaut pour l'attribution de rôle est facile, et vous n'avez pas à vous soucier de la création correcte des informations d'identité pour l'utilisateur.

+0

Je ne peux pas utiliser la fonctionnalité par défaut, comme je n'ai pas un SQL où je peux créer toutes les tables nécessaires teh b y le rôle de membre. J'ai besoin de trouver un autre moyen. – LeJeune

0

Notez que pour utiliser le modèle de fournisseur de rôles, vous n'avez pas besoin d'utiliser une base de données et un schéma, il existe des options plus simples. Vous pouvez utiliser le Gestionnaire d'autorisations (un téléchargement gratuit de Microsoft) qui vous permet d'ajouter un fournisseur de rôle à une application ASP.NET et configurer les rôles et les autorisations à l'aide de leur outil (un composant logiciel enfichable MMC accessible via Outils d'administration).

How To: Use Authorization Manager with ASP.NET 2.0

La configuration exposée par l'outil est stocké dans un fichier xml qui est référencé dans les applications web.config:

<connectionStrings> 
    <add name="LocalPolicyStore" connectionString="msxml://C:/AzManStore.xml"/> 
</connectionStrings> 

qui peut alors être référencé lorsque vous configurez l'application à utiliser le fournisseur de rôle de gestionnaire d'autorisations:

<roleManager enabled="true" defaultProvider="RoleManagerAzManProvider"> 
    <providers> 
    <add name="RoleManagerAzManProvider" 
     type="System.Web.Security.AuthorizationStoreRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, publicKeyToken=b03f5f7f11d50a3a" 
     applicationName="MyApp" 
     connectionStringName="LocalPolicyStore"/> 
    </providers> 
</roleManager> 
Questions connexes