Par exemple, la façon dont nous le faisons maintenant est comme ainsi: (dans le web.config)Comment implémenter l'autorisation de page dans ASP.NET en utilisant un magasin SQL au lieu de web.config?
<location path="somePath">
<system.web>
<authorization>
<allow roles="approvedRoles"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
Et ce que je voudrais faire à la place est de stocker quelque part ces informations dans SQL afin que nous peut manipuler l'information plus facilement. Mais nous voulons conserver la même fonctionnalité que celle fournie par web.config, tout comme nous pouvons utiliser un SqlRoleProvider au lieu de rôles en dur dans l'application. Donc, en d'autres termes, si un utilisateur essaie actuellement d'accéder à "somePath" et qu'il ne fait pas partie de "approvedRoles", il est redirigé vers default.aspx, et s'il est membre de "approvedRoles", il obtient le page. Je veux faire la même chose, mais sans utiliser web.config comme mécanisme d'autorisation. Donc, ce que je ne demande PAS, c'est comment définir les rôles, ou comment gérer la connexion à la base de données, mais comment stocker les informations ci-dessus dans SQL au lieu de web.config. En fait, je vais prendre "n'importe où mais web.config" pour le moment.
Des idées? Est-ce possible en utilisant une classe "Provider"? Je cherche juste des indications sur ce qu'il faut hériter et peut-être une documentation technique. À cet égard mon googlefoo manque car je ne sais pas vraiment où pointer. Suis-je vraiment à la recherche d'AzMan? Cette localisation-autorisation-via-SQL est-elle déjà définie dans l'aspnetdb par défaut quelque part et il me manque?
D'ailleurs, cette question a-t-elle déjà été posée sur SO et je l'ai manquée? Que feriez-vous google?
Ouais, je suis en train d'éviter quelque chose le long de cette veine. Je préférerais même ne pas créer un wrapper pour la page par défaut juste pour l'obtenir car il est évidemment possible de travailler avec la pile auth avant d'arriver à la page. Ajouter quelque chose à chaque page est actuellement hors de question. Ce n'est peut-être pas à l'avenir, mais n'est-il pas plus facile de rediriger avant d'y arriver? – jcolebrand