Cytat z documentation:
przez projekt, klasa SimpleMembershipProvider nie implementuje pełen zakres funkcjonalności, które są możliwe w członkostwa ASP.NET dostawców, jak zdefiniowane w klasie MembershipProvider, który jest używany przez wszystkich dostawców członkostwa ASP.NET. Niektórzy członkowie są dostępni w klasie , ponieważ są dziedziczeni z klasy podstawowej, ale wyrzucą wyjątek, jeśli uzyskasz do nich dostęp.
Jeśli witryna wymaga pełnej zdolności dostawcy członkostwa, można pominąć inicjalizacji systemu Web Pages członkostwa (które jest, nie nazywaj WebSecurity.InitializeDatabaseConnection()) i zamiast upewnić się, że średnia członków i rola włączeni są dostawcy . W takim przypadku wywołania, które należy wykonać w klasie SimpleMembershipProvider , są przekazywane do standardowego dostawcy (który jest nazywany poprzednim dostawcą w dokumentacji klasy SimpleMembershipProvider). Aby uzyskać więcej informacji, zobacz Zobacz Konfigurowanie aplikacji ASP.NET do używania członkostwa.
Pole PasswordSalt
jest jedną z tych kolumn. Jeśli spojrzeć na kod źródłowy SimpleMembershipProvider można zauważyć, że kolumna PasswordSalt jest po prostu ustawiona na string.Empty
:
if (database.Execute("INSERT INTO [" + MembershipTableName + "] (UserId, [Password], PasswordSalt, IsConfirmed, ConfirmationToken, CreateDate, PasswordChangedDate, PasswordFailuresSinceLastSuccess) VALUES (@0, @1, @2, @3, @4, @5, @5, @6)", new object[] { num, str, string.Empty, !requireConfirmationToken, obj3, DateTime.UtcNow, num2 }) != 1)
{
throw new MembershipCreateUserException(MembershipCreateStatus.ProviderError);
}
Więc jeśli chcesz go używać można napisać dostawcę członkostwa niestandardowych, który zastępuje domyślny i sam wygeneruj PasswordSalt. Można zastąpić metodę CreateAccount
.
Hmm, więc dlaczego jest tam kolumna solna?Jeśli kolumna soli jest przydatna, jakie są możliwe scenariusze, które możemy zrobić? – jonprasetyo
@jonprasetyo Nie wiem. Domyślam się, że została przeniesiona z poprzednich schematów dostawców i nie spadła, gdy podjęto decyzję o włączeniu soli do haszyszu i przechowywaniu jej w jednym miejscu. –