J'ai hérité d'une application ASP.NET C# qui ne fonctionne pas totalement. On m'a dit d'utiliser l'authentification par formulaire pour empêcher les utilisateurs non autorisés d'accéder à certains sous-répertoires.ASP.NET C# - Configuration de la sécurité basée sur les rôles avec authentification par formulaires
J'ai un problème de compréhension de l'authentification par formulaire. Ceci est un site internet public et tous les utilisateurs auront accès à la partie principale du site. Cependant, il existe un sous-répertoire limité à certains utilisateurs. Je sais qu'un utilisateur est valide parce qu'il entrera un nom d'utilisateur et un mot de passe et je les rechercherai dans une base de données. J'ai ajouté ces lignes au fichier web.config du sous-répertoire.
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<authorization>
<allow roles="Administrators, Examiners"/>
<deny users="*"/>
</authorization>
</system.web>
La question est de savoir comment définir dans mon code que l'utilisateur appartient à un certain rôle.
Voici le pseudo-code.
Si le nom d'utilisateur et mot de passe puis correspondance
Définir ce rôle à des utilisateurs Examiners.
Je ne connais pas le code dont j'ai besoin pour attribuer un rôle à l'utilisateur.
Ceci est utile. J'ai découvert que mon prédécesseur avait déjà créé les tables dont j'avais besoin. La configuration web est également configurée mais pas de code. J'ai été capable de changer le web.config pour pointer vers ma base de données locale. Puis l'appel que vous m'avez donné Membership.ValidateUser a fonctionné quand je lui ai donné un exemple d'utilisateur et de mot de passe. Le problème que j'ai est que les mots de passe que j'ai pour mes utilisateurs sont cryptés, donc je n'ai aucun moyen de savoir ce qu'il y avait. J'ai donc besoin de code pour créer un utilisateur et lui donner un mot de passe ou modifier le mot de passe d'un utilisateur existant pour que je puisse avoir un appel réussi. –
Je trouve ce dont j'ai besoin. Alors que les autres réponses étaient aussi utiles, je vous considère comme la meilleure. –
@ Bob, je suis content que cela a aidé. La validation des mots de passe est faite côté serveur et vous n'avez pas à vous en préoccuper. Vous pouvez cliquer sur le bouton Up-Vote pour toutes les réponses utiles sans accepter leurs réponses pour donner du crédit à tout le monde. –