none
MVC3 et authetification personnalisée

    Question

  • Bonjour,

    le sujet a souvent été traité mais je n'ai malheureusement pas trouvé de réponse à mon problème dans les posts précédents.

    Voici donc mon cas:

    Je développe un site asp/c# en utilisant le modèle MVC3 et en utilisant les web service.

    Je cherche à insérer sur certaines pages, un formulaire de connexion personnalisé qui via mon web service vérifie dans ma base de données SQL si l'utilisateur est connu. J'essaie en fait de ne pas utiliser le module d'authentification prévu de ASP.net.

    En gros si l'utilisateur n'est pas identifié la boite de connexion apparaît et s'il est connecté elle disparaît ou affiche un message "Bienvenue..."

    Au niveau de mon web service, pas de problème j'ai une méthode qui retourne true s'il est connu ou false si ce n'est pas le cas. Je l'ai testée cela fonctionne.

    Par contre, au niveau de mon site en MVC3 j'ai du mal à voir comment faire en sorte d'afficher ou pas la boite de connexion et surtout ou implémenter le code (dans le controller)?.

    Je souhaite également utiliser une session pour l'authentification.

    Voilà si quelqu'un peut me donner une pite...

    Merci 

    Friday, September 28, 2012 9:36 AM

Answers

  • L'appel de la fonction FormsAuthentication.SetAuthCookie est à faire dans l'action de ton controlleur qui répond au formulaire d'authentification.

    Elle est disponible dans le namespace :

    using System.Web.Security;

    Par contre si tu veux faire la vérification d'authentification dans la vue la syntaxe est différente en effet il faut faire :

    @if (ViewContext.HttpContext.User.Identity.IsAuthenticated)
    {
        @// Affiche ce que tu veux ici
    }

    Sunday, September 30, 2012 9:16 AM

All replies

  • Bonjour,

    Si tu es en authentification Forms (Sans le membership asp.net) tu peux authentifié l'utilisateur comme ceci :

    FormsAuthentication.SetAuthCookie("userName", false /*ou true si tu veux que le cookie persiste */);

    Ca va déposer un cookie pour l'authentification

    Et ensuite dans les actions de tes controleurs(ou dans la vue) tu peux faire le test suivant :

     if (HttpContext.User.Identity.IsAuthenticated)
                    {
                        // Code si Authentifié
                    }

    Friday, September 28, 2012 10:00 AM
  • Bonjour Sebastien, 

    merci pour ton aide.

    Je suis en MVC 3 avec Razor et je n'ai visiblement pas accès à FormsAuthentification .

    Il y a t-il l'équivalent avec razor ?

    Merci

    Friday, September 28, 2012 12:27 PM
  • L'appel de la fonction FormsAuthentication.SetAuthCookie est à faire dans l'action de ton controlleur qui répond au formulaire d'authentification.

    Elle est disponible dans le namespace :

    using System.Web.Security;

    Par contre si tu veux faire la vérification d'authentification dans la vue la syntaxe est différente en effet il faut faire :

    @if (ViewContext.HttpContext.User.Identity.IsAuthenticated)
    {
        @// Affiche ce que tu veux ici
    }

    Sunday, September 30, 2012 9:16 AM
  • Bonjour,

    Pouvons-nous considérer que vous avez résolu votre problème avec les scénarios proposés ? Dans l'affirmative, pourriez-vous partager avec nous la solution, afin que d'autres personnes avec le même problème puissent profiter de cette solution ? Désormais, nous marquons les solutions proposées. N'hésitez pas à revenir et supprimer la réponse marquée si la solution n’est pas correcte. Merci !

    Cordialement,

    Aurel


    Aurel BERA, Microsoft
    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    Monday, October 01, 2012 9:59 AM
    Owner