IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

MVC, autorisation d'actions pour utilisateurs anonymes


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 17
    Par défaut MVC, autorisation d'actions pour utilisateurs anonymes
    Bonjour,

    Sur une application MVC, la saisie du code d'accès et mot de passe est accessible par tous. On peut réduire aussi l'accès à des actions pour les utilisateurs connectés par l'attribut Authorize, mais comme faire pour que des actions telles que l'activation d'un compte, la restitution de mot de passe ou le changement de mot de passe puissent être accessibles ( dans mon cas, retourner une valeur au format JSON (exemple : return Content("100"); ) à un formulaire AJAX qui affiche l'alerte correspondant au résultat : Votre compte est activé, vous pouvez vous connecter, etc...).

    Merci pour des nouvelles pistes de recherche.

    JF.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut
    Salut,

    En gros tu veux que seul ton script ait acces à cette action ? et pas l'utilisateur via l'url ? Si c'est le cas, je crois que c'est un débat un peu particulier. Au départ j'étais comme toi, je me disais la meme chose, mais finalement en réflechissant bien, que l'utilisateur l'appelle directement via l'url ou alors que ce soit ton script qui l'appelle, ca revient au meme non ? il reçoit un message l'informant.
    Sinon pour tenter de répondre à ta question, je ne suis pas sur que tu puisses vraiment le protéger comme cela. Tu aurais pu utiliser une sorte de code envoyé par ton script à l'action pour que l'action puisse identifier si c'est le script ou l'utilisateur, mais il sera visible dans le source, donc réutilisable.
    Le problème tient vraiment du fait que tu as un script coté client qui fait à peu près ce que peux faire un utilisateur avec son navigateur : communiquer avec le serveur. Là est tout le probleme à mon avis.

    Il faut voir ce que tu veux vraiment faire avec ton script quoi. mais de toute maniere, il vaut mieux éviter de transmettre des données sensibles à tout script ce qui réduit finalement ce que tu envoies dans le script et donc au final réduit les risques de ce que pourrait voir un utilisateur utilisant directement l'url de l'action.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 17
    Par défaut
    Merci pour ta réponse. Je suis bien d'accord sur le principe de sécurité.

    Pour être pratique prenons l'exemple de l'activation après l'ouverture d'un compte qui est classique et se fait en 15mn sur un serveur PHP :

    Pour valider votre inscription, merci de cliquer sur le lien ci-dessous pour activer votre compte utilisateur :

    http://www.domaine.fr/connexion/acti...8-04d1115e06af
    quelle serait la solution dans ce cas-là ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut
    Ah mais attend j'avais pas pigé ce que tu voulais faire !

    En gros tu veux qu'une action te retourne un JSON ? au lieu d'un return view tu fais un return JSON et ça passe. par contre au niveau du fonctionnement je ne pourrais pas te l'expliquer je n'ai pas encore étudié le sujet mais j'avais vu cela au niveau des retours possibles d'un actionresult.

    Cf ici http://www.asp.net/learn/mvc/tutorial-03-cs.aspx au chapitre Understanding Action Results

    Edit : ah si je me souviens avoir vu le fonctionnement d'un retour JSON ! alors si je ne dis pas de bétise, il me semble que c'est une histoire de rendu partiel. Tu devrais faire une recherche sur "asp.net mvc ajax json" sous google, tu devrais trouver rapidement un exemple.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 17
    Par défaut
    Pour le retour JSon j'utilise déjà en mode authentifié, mon problème est que l'action n'est pas autorisée en mode non connecté pour changer un mot de passe, redemander le mot de passe ou activer un nouveau compte. Et pourtant dans le modèle de solution ASP NET MVC on a bien des fonctions de ce type. A suivre.

Discussions similaires

  1. [Débutant] Accès refusé pour utilisateurs anonymes!
    Par mumu27 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/08/2014, 21h42
  2. [Spring MVC] Plusieurs actions pour un seul controleur
    Par reeda dans le forum Spring Web
    Réponses: 1
    Dernier message: 19/01/2009, 18h12
  3. Réaliser 2 actions pour un seul submit !
    Par pekka77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 28/10/2005, 14h22
  4. Droits pour utilisateurs
    Par Maxime555 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 03/05/2005, 19h56
  5. Interface graphique pour utilisateur
    Par Missvan dans le forum PostgreSQL
    Réponses: 10
    Dernier message: 14/02/2005, 09h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo