Salve a tutti,
Sto creando un sito che utilizza le membership api e mysql, di conseguenza ho scaricato i provider adatti da
http://www.codeproject.com/aspnet/MySQLMembershipProvider.asp e il profile provider da
http://www.codeproject.com/cs/database/ASPNet_20.asp.
Ora però mi sorge un problema: devo fare in modo che il profilo venga salvato anche quando l'utente non è loggato (cambio skin e altre cosucce). Tutto funziona finché l'utente è loggato, ma sugli utenti anonimi si verifica un'eccezione poiché l'UserID nel Profile Provider non viene trovata.
Ora, non è un problema modificare il profile provider scaricato, ma devo sapere come fa ASP.NET a identificare in maniera univoca un utente anonimo da un altro (se è questo il problema...).
Qualcuno ha avuto un problema simile?
Per completezza posto il web.config
<configuration>
<appSettings/>
<connectionStrings>
<add name="ConnString" connectionString="Database=prova_com;Data Source=localhost; User Id=root; Password=null"/>
</connectionStrings>
<system.web>
<roleManager defaultProvider="MySqlRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".ASPROLES" cookieTimeout="30" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All">
<providers>
<clear/>
<add name="MySqlRoleProvider" type="Andri.Web.MySqlRoleProvider" connectionStringName="ConnString" applicationName="app" writeExceptionsToEventLog="true"/>
</providers>
</roleManager>
<membership defaultProvider="MySqlMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear/>
<add name="MySqlMembershipProvider" type="Andri.Web.MySqlMembershipProvider" connectionStringName="ConnString" applicationName="app" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" writeExceptionsToEventLog="true"/>
</providers>
</membership>
<profile defaultProvider="MySqlProfileProvider" automaticSaveEnabled="true">
<providers>
<clear/>
<add name="MySqlProfileProvider" type="Malachi.MySqlProviders.MySqlProfileProvider" connectionStringName="ConnString" applicationName="app"/>
</providers>
<properties>
<add name="FirstName" allowAnonymous="true"/>
<add name="LastName"/>
</properties>
</profile>
<anonymousIdentification enabled="true" cookieSlidingExpiration="true" cookieProtection="All" />
<compilation debug="true">
<assemblies>
<add assembly="MySql.Data, Version=5.1.2.2, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/></assemblies></compilation>
<authentication mode="Forms" />
...e altra roba che non c'entra...
Grazie
Modificato da ceglia82 il 15 novembre 2007 09.57 -
Modificato da ceglia82 il 15 novembre 2007 09.58 -