2010-04-29 17 views
6

Non riesco ad accedere utilizzando nessuno degli account di appartenenza usando la versione .net 4.0 dell'app. Fallisce come se fosse la password sbagliata e FailedPasswordAttemptCount viene incrementato nella tabella my_aspnet_membership. (Sto usando l'abbonamento con il provider di appartenenza mysql.)L'accesso non riesce dopo l'aggiornamento ad ASP.net 4.0 da 3.5

Posso creare nuovi utenti. Compaiono nel database Ma non riesco ad accedere usando le nuove credenziali utente (sì, IsApproved è 1).

Un indizio è che le password hash nel database è più lungo per gli utenti creati utilizzando la versione asp.net 4.0, ad esempio 3lwRden4e4Cm + cWVY/spa8oC3XGiKyQ2UWs5fxQ5l7g =, e le vecchie .NET 3.5 quelli sono tutti come + JQf1EcttK + 3fZiFpbBANKVa92c =.

Posso ancora accedere quando mi collego allo stesso db con la versione .net 3.5, ma solo ai vecchi account, non ai nuovi creati con la versione .net 4.0. La versione 4.0 non può accedere a nessun account.

ho provato far cadere l'intero database sul mio sistema di test, le tabelle di appartenenza vengono poi automaticamente creati al primo avvio, ma è ancora lo stesso, in grado di creare gli utenti, ma non riesco ad accedere.

risposta

13

See: HERE

L'algoritmo hash predefinito è cambiato per NET 4.0. Algoritmo hash predefinito è ora HMACSHA256. Le versioni precedenti di ASP.NET utilizzavano l'algoritmo HMACSHA1 precedente.

Per configurare un'applicazione ASP.NET 4 Web di utilizzare l'algoritmo HMACSHA1 più vecchio, aggiungere la seguente impostazione alla sezione system.web del file Web.config:

<machineKey validation="SHA1"/> 
+0

È signore salvato la giornata per me . +1 –

2

Sto avendo lo stesso identico problema Ho la mia applicazione web sia in 3.5 che in 4.0 e solo gli account "vecchi" funzionano sull'istanza 3.5.

Ecco a sperare che qualcuno abbia una risposta!

UPDATE:

ho cambiato il passwordFormat per cancellare e sono stato in grado di creare un nuovo utente e accedere con l'applicazione 4.0. Sembra che qualcosa sia cambiato con il modo in cui le password sono hash.

UPDATE 2:

sono stato in grado di fare uno dei "vecchi" account di lavoro. Con la modifica precedente al passwordFormat, ho modificato la colonna PasswordFormat in my_aspnet_membership su 0 e ho impostato manualmente la password nella stessa tabella. Mentre questo è contorto e disordinato, lascia che l'account lo capisca. Ho intenzione di provare a eseguire la reimpostazione della password e vedere se questo risolve i conti rotti.

Problemi correlati