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 :

[VB.NET] Authentifier et provoquer une action par URL


Sujet :

ASP.NET

  1. #1
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut [VB.NET] Authentifier et provoquer une action par URL
    Bonsoir,

    Je souhaite permettre aux utilisateurs d'une appli .NET d'effectuer une (des) action(s) en suivant une URL reçu par Email. Un peu comme la confirmation d'inscription sur ce forum.
    A votre avis comment faire pour rendre une URL unique et faire en sorte qu'elle ne soit pas reproduisible?
    1 - Je pensais stocker dans une table l'id de session "ASP.NET_SessionId" qui est unique et l'associer à une commande SQL.
    2 - L'internaute se connecte à la page et s'authentifie par l'intermediaire de Windows.
    3 - La page récupère l'id passé dans l'url.
    4 - Une requete sur la table recherche l'id en question et si trouvé execute la requete SQL.
    5 - L'enregistrement correspondant est ensuite detruit.
    Qqn a-t-il dejà fait ce genre de choses?
    Auriez-vous une autre méthode plus sûre et/ou efficace?

    Merci de vos suggestions.
    "Winter is coming" (ma nouvelle page d'accueil)

  2. #2
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Le SessionID change à chaque fois que tu changes de navigateur (ou que tu ouvres et fermes celui que tu utilises).

    Par exemple, tu peux générer une chaîne de caractères aléatoire que tu cryptes comme tu l'entends.

    Dans l'url, tu mets le code crypté et l'id de l'utilisateur par exemple.

    Tu décryptes le code et tu le compares avec ta base de données.

    C'est fort similaire à ta soluce

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  3. #3
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    L'inconvenient d'une chaine qu'on crypte puis decrypte, c'est que d'autres peuvent le faire. Mais bon, en l'occurence, il y a peu de risque dans la mesure où c'est une appli intranet. Seulement, je n'ai pas d'algorithme de cryptage sous le coude. Il faudrait tout de mm qqch de simple.
    L'avantage de ta solution serait d'eviter de stocker quoi que ce soit dans une base de données.
    A quel genre d'algorithme penses-tu? En as-tu un à suggérer?

    Merci
    "Winter is coming" (ma nouvelle page d'accueil)

  4. #4
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Ou plus simple, tu stockes dans ta base l'id de la personne à valider et un code simple. Par exemple, après trois mauvais essais, tu bloques le compte. Ainsi ca limite fortement le risque de "piratage" et tu n'as pas besoin d'algo particulier

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  5. #5
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Effectivement, c'est à creuser.
    Dans une table, je mets:
    - Un autonumber pour identifier
    - L'id du demandeur
    - L'id de l'executeur
    - La requete
    - Y/N pour dire si c'est fait
    - chp texte pour dire quand cela a été fait

    Je pourrais conserver les lignes pour l'historique.

    Ok, merci
    "Winter is coming" (ma nouvelle page d'accueil)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. appeler une action par javaScript
    Par khaledirb7 dans le forum Struts 1
    Réponses: 3
    Dernier message: 14/08/2007, 22h57
  2. Lancer une action par une touche du clavier
    Par benymypony dans le forum Delphi
    Réponses: 3
    Dernier message: 24/10/2006, 20h52
  3. Réponses: 5
    Dernier message: 17/07/2006, 19h34
  4. execution automatique d'une action par le serveur
    Par mael94420 dans le forum ASP
    Réponses: 3
    Dernier message: 16/06/2006, 12h18
  5. Comment faire une action, par rapport au temps
    Par Happy dans le forum OpenGL
    Réponses: 5
    Dernier message: 12/11/2005, 14h27

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