2012-02-08 1 views
1

Voici mon problème si je peux l'appeler de cette façon.J'ai mis en œuvre l'authentification avec le fournisseur de mémorisation de l'utilisateur personnalisé dans asp.net mvc 2.0.Tout fonctionne bien mais j'ai un problème.Lors de la connexion de l'utilisateur il fournit son nom d'utilisateur et mot de passe et je vérifie cela à travers la base de données dans MSSQL puis je valide l'utilisateur et passe et utilise FormsAuthentication pour définir uniquement UserName comme informations de profil. Mais quand cet utilisateur veut créer un nouvel élément (disons pour la vente ou quelque chose) qui lui appartient et peut être listé avec d'autres éléments que l'utilisateur a créé, je peux utiliser ce nom d'utilisateur (dans FormsAuthentication) connecter cet élément à l'utilisateur approprié avec la clé étrangère, mais cela fonctionne si le nom d'utilisateur est unique, donc j'ai besoin d'informations supplémentaires comme la colonne ID de la table de base de données "user" pour stocker et utiliser plus tard informations supplémentaires de l'utilisateur et l'utiliser plus tard parce que le nom d'utilisateur que j'ai mentionné doit être unique dans la base de données et il n'y a pas assez d'informations sur l'utilisateur connecté.ASP.NET MVC 2 en utilisant l'authentification

Répondre

2

Impossible de stocker l'objet Utilisateur (ou les informations supplémentaires dont vous disposez) dans la session? ou en utilisant un cookie du côté client (si vous devez persister l'état de connexion même après que l'utilisateur ferme son navigateur, etc.)? Faites-moi savoir si vous avez besoin d'exemples spécifiques.

EDIT: Après avoir lu vos commentaires, si vous êtes à la recherche d'une solution « cookie sécurisé » jeter un oeil à ceci: http://www.codeproject.com/Articles/13665/HttpSecureCookie-A-Way-to-Encrypt-Cookies-with-ASP

Je l'utilise pour stocker l'ID de l'utilisateur (uniquement son identifiant). Lorsque je récupère ce cookie, je charge l'utilisateur avec son identifiant. Une mise en cache en mémoire me permet d'éviter de charger l'utilisateur sur chaque requête.

Mais je voulais juste préciser que l'objet de session semble idéal pour ce que vous essayez de faire + vous n'avez pas à vous soucier de la sécurité (pour l'application moyenne qui est).

+0

J'ai trouvé que la session n'est pas le moyen le plus sûr de faire ce genre de choses .. J'ai le mien mais c'est une fonctionnalité dont j'ai besoin maintenant .. J'ai trouvé quelques exemples ici à stackoverflow mais je voulais essayer de nouveau autre point de vue –

+0

Pourquoi pas? la session est stockée uniquement sur le serveur, donc c'est plus sûr que de mettre des trucs sur un cookie par exemple. J'utilise les cookies pour conserver les données utilisateur et je dois les crypter/déchiffrer chaque fois que j'ai besoin de les lire/les mettre à jour. – Yannis

+0

Cela crypté/décrypter façon tought c'est bien mais je ne l'ai jamais utilisé parce que je suis nouveau sur asp.net mvc. J'ai trouvé quelques exemples, mais je voulais entendre d'autres réflexions sur l'implémentation de cette fonctionnalité ou autre ... –