Per creare gli utenti e configurare i ruoli utilizza i controlli per le membership che trovi nella Tab "Login" di Visual Studio.
Fai una pagina con questi controlli e mettila nella tua cartella Admin.
Fatto ma come gli dico che deve utilizzare i dati che stanno su un server SQL?
Considera che il server sia SQL che Web è lo stesso di DotNetWork.
Il database Sql lo crei da riga di comando usando "aspnet_regsql".
L'impostazione della memebership è a livello globale e la trovi qui: machine.config situato in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\CONFIG
se cerchi "membership" trovi:
<membership>
<providers>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
</providers>
</membership>
E come vedi usa la stringa di connessione:
<connectionStrings>
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>>
Se vuoi usare una tua personalizzata scrivi nel web.config:
<configuration>
<connectionStrings>
<add name="MiaConnessione"
connectionString="Data Source=localhost;Initial Catalog=aspnetdb;
User Id=tuoutente;Password=tuapassword;"
providerName="System.Data.SqlClient" />
</connectionStrings>
...
<system.web>
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web"
connectionStringName="MiaConnessione"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
...
<authentication mode="Forms">
< forms loginUrl="login.aspx" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
con questa modifica al webConfig indirizzo verso il login.aspx nella root e non nella cartella admin quindi non mi serve fare una pagina con i controlli Login nella cartella Admin.
Non riesco a capirci una mazza. Scusate.
Consideralo come un percorso normale:
< forms loginUrl="Admin/login.aspx" />