2009-09-14 13 views
4

Question super simple à partir d'un ASP newb: J'ai un site ASP.NET interne uniquement sur lequel je travaille qui utilise l'authentification intégrée de Windows à travers le tableau. Il y a essentiellement trois rôles que je veux associer au site: utilisateur, gestionnaire et administrateur. Le site est ouvert à l'ensemble de l'organisation, de sorte que toute personne authentifiée est un utilisateur, sauf s'il s'agit d'un administrateur ou d'un administrateur.Rôles ASP.NET avec Windows Auth

La liste des administrateurs et des gestionnaires doit être dans une base de données, pas dans le fichier web.config. Les informations de rôle pour ce site ne sont en aucune façon associées à ce qui peut être appris du profil AD d'un utilisateur.

J'ai commencé à utiliser ASP.NET assez rapidement et je suis certainement capable de rechercher la bonne solution, mais j'espérais que quelqu'un pourrait me faire démarrer sur la bonne voie. Quelle est la meilleure façon d'y arriver? J'imagine que cela implique d'utiliser un fournisseur de rôle en plus de l'authentification intégrée, mais avant que je commence à rechercher un million d'options et que je sélectionne le mauvais, j'ai pensé que je demanderais ici.

Merci!

+0

Avoir vos administrateurs réseau coller les gestionnaires et les administrateurs en groupes AD (comme MyCustomAppAdmin) fonctionne bien. Voudriez-vous reconsidérer cela? – Greg

+0

C'est une possibilité, et une qui sera soigneusement considérée. Merci. – nlawalker

Répondre

3

je devais faire cela aussi et moi l'entrée de blog ci-dessous de Scott Guthrie me va ....

http://weblogs.asp.net/scottgu/pages/Recipe_3A00_-Implementing-Role_2D00_Based-Security-with-ASP.NET-2.0-using-Windows-Authentication-and-SQL-Server.aspx

grand pour moi travaillé.

Je n'ai pas créé un nouveau fournisseur ou quoi que ce soit. Le blog de Scott l'énonce bien. Bien que ce soit un hack mais je suis allé vite et fait l'affaire.

Avec cette astuce, vous pouvez utiliser Windows auth avec des rôles basés sur la base de données.

+1

Précisément ce que je cherchais. Merci! – nlawalker

0

Vous pouvez utiliser MembershipProvider en utilisant ActiveDirectory Info here