none
Authentification sous MVC : emplacement de aspnetdb RRS feed

  • Discussion générale

  • Bonjour tout le monde,

    J'ai créé un projet avec le modèle "Application Web ASP.NET MVC 4 Visual C#".

    Avec l'interface utilisateur prévue dans ce projet pour le modèle Account, j'ai créé un utilisateur. ça me permet d'accéder aux actions non marquées de l'attribut [AllowAnonymous], sachant que filter.config contient  filters.Add(new AuthorizeAttribute());

    J'ai pu me déconnecter et me reconnecter en utilisant le même mot de passe.

    Bon, jusque là, standard.

    Mais surprise par rapport à la doc : le répertoire App_Data reste vide.

    Par voie de conséquence, lorsque je clique sur l'icône "Configuration ASP.NET" en haut de l'explorateur de solution, qui me donne accès à l'URL http://localhost:2314/asp.netwebadminfiles, dans la section sécurité on m'affiche "Utilisateurs existants : 0". J'ai comme l'impression que si je crée des utilisateurs là-dedans ils vont être ignorés.

    Je trouve ma base aspnetdb sur le serveur SQL Server. C'est la présence d'Entity Framework dans le projet qui fait que c'est l'emplacement par défaut ?

    Bon, pour pouvoir utiliser asp.netwabadminfiles, j'ai ajouté ceci dans le web.config :

        <add name="ApplicationServices"
             connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
             providerName="System.Data.SqlClient" />
    
    <!-- et plus bas, dans system.web : -->
        <membership>
          <providers>
            <clear/>
            <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
                 enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
                 maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
                 applicationName="/" />
          </providers>
        </membership>

    Or, je me connecte toujours avec le même mot de passe, et mon répertoire App_Data est toujours vide.

    Est-ce que j'ai oublié quelque chose ?

    A part d'utiliser des versions plus récentes d'outils d’authentification ...

    • Modifié Gloops lundi 12 décembre 2016 10:21
    • Type modifié Gloops lundi 12 décembre 2016 10:26 erreur sur le type d'authentification
    lundi 12 décembre 2016 10:19

Toutes les réponses

  • On en sait déjà plus en regardant en tête de AccountController :

    using System.Web.Security;
    using DotNetOpenAuth.AspNet;
    using Microsoft.Web.WebPages.OAuth;
    using WebMatrix.WebData;
    

    Apparemment, avec Membership, je suis hors sujet bien comme il faut.

    lundi 12 décembre 2016 11:04
  • Bonjour,

    En définitive, que la base d'authentification se trouve sur le serveur a fini par me rendre service, puisqu'à défaut de pouvoir utiliser l'interface asp.netwabadminfiles j'ai créé la mienne sous MVC pour l'attribution des rôles aux utilisateurs et c'était plus clair dans une application à part, ce qui du reste a été l'occasion de réviser la récupération de la valeur sélectionnée par un utilisateur dans une liste, de gérer plusieurs formulaires dans une vue, et de constater une particularité des helpers ListBox et DropdownList au regard des sélections multiples.


    • Modifié Gloops jeudi 22 décembre 2016 04:11
    jeudi 22 décembre 2016 04:05