9 messaggi dal 17 settembre 2008
Salve a tutti ,

Sto cercando di utilizzare le membership sul mio database dove ci sono le altre tabelle dell'applicazione.

Ho utilizzato aspnet_regsql per indicare il database e tutte le tabelle vengono correttamente aggiunte.

Adesso ho modificato il web.config ma ho l'errore di configurazione riportato nel titolo , per quanto mi sforzi non riesco a capire dove è il problema. :(

Riporto qui parte del web.config:

<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<profile defaultProvider="AspNetSqlMembershipProvider">
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
connectionStringName="MDbConnectionString"
applicationName="/" />
</providers>
</profile>
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<clear />
<add
connectionStringName="MDbConnectionString"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="/"
name="AspNetSqlMembershipProvider"
<!-- La riga qui sotto genera l'errore -->
type="System.Web.Security.SqlMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</membership>
<roleManager defaultProvider="AspNetSqlMembershipProvider">
<providers>
<add connectionStringName="MDbConnectionString"
applicationName="/"
name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</roleManager>

Grazie a chi mi aiuterà :)
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

first100 ha scritto:

<clear/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
connectionStringName="MDbConnectionString"
applicationName="/" />

Di solito non è necessario aggiungere il provider perché è già definito all'interno del file di configurazione machine.config, che si trova nella cartella di installazione del Framework.
Con la direttiva <clear />, stai svuotando ciò che è stato definito nel machine.config e ri-aggiungi l'AspNetSqlMembershipProvider, tra l'altro nella sua versione 1.0.0.0 che probabilmente non è adatta al tuo sito Asp.Net 4.0.
Forse hai trovato quell'esempio in un vecchio articolo, di qualche anno fa?

A meno che tu non abbia esigenze particolari, conviene non aggiungere affatto il nodo <providers /> all'interno del web.config ma usare le impostazioni di default.

Ciò che potresti voler cambiare, invece, è la stringa di connessione nel caso in cui volessi usare un'altra istanza di Sql Server o LocalDB. Esempio con LocalDB:
<connectionStrings>
  <remove name="LocalSqlServer" />
  <add name="LocalSqlServer" connectionString="data source=(LocalDB)\v11.0;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;" providerName="System.Data.SqlClient" />
</connectionStrings>

L'ho chiamata "LocalSqlServer" perché quello è il nome usato nel machine.config dal SqlMembershipProvider.

Ora mi sorge un dubbio però, perché tu la chiami MDbConnectionString. Non è che stai cercando di usare il provider per SQL Server con un database Access? In questo caso ti serve un provider diverso, l'AccessMembershipProvider che non viene distribuito insieme al framework e che perciò va scaricato e aggiunto al web.config.
Questo articolo ti dà tutte le istruzioni.
http://www.aspitalia.com/servizi/Membership-Roles-Profile-web.config-Access.aspx

ciao
Modificato da BrightSoul il 27 gennaio 2013 12.24 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.