Chcę włączyć interfejs API SimpleMembership platformy ASP.NET MVC 4 w celu integracji z moim własnym schematem bazy danych. Mam jasne i proste tabeli w mojej bazy danych o nazwie Users
z tych dziedzin:SimpleMembership z niestandardowym schematem bazy danych w ASP.NET MVC 4
- Id
- Nazwa
- Hasło
- IsDeleted
już skonfigurowany API SimpleMembership użyć mojej bazy danych:
WebSecurity.InitializeDatabaseConnection("MyStuff", "Users", "Id", "Name", autoCreateTables: true);
I mogę wstawić użytkownika TOO:
WebSecurity.CreateUserAndAccount(model.UserName, model.Password,
new
{
IsDeleted = false,
Email = "[email protected]"
});
Jednak pole Hasło (lub jego hash) jest nie włożono go do tabeli Użytkownicy (oczywiście), wstawiono do innej tabeli o nazwie webpages_Membership
, która została utworzona za pomocą wywołania InitializeDatabaseConnection
i zawiera wiele niepotrzebnych informacji, których nie potrzebuję.
Mam również inne automatycznie tworzone tabele o nazwach webpages_OAuthMembership, webpages_Roles i webpages_UsersInRoles, których nie potrzebuję.
Ja już próbował ustawić generację tabeli false:
WebSecurity.InitializeDatabaseConnection("MyStuff", "Users", "Id", "Name", autoCreateTables: false);
Ale w tym przypadku wywołanie CreateUserAndAccount rzuci wyjątek, ponieważ nie znajdzie tabeli webpages_Membership.
Wygląda na to, że te tabele są potrzebne, gdy chcę korzystać z interfejsu API SimpleMembership.
Moje pytanie brzmi: co powinienem zrobić w takim scenariuszu, kiedy chcę tylko prosty stół Users
i nic więcej?
Czy muszę napisać osobiście całą obsługę członkostwa i logikę uwierzytelniania (generowanie kodu hasłowego itp.)?
OK, dziękuję! Może napiszę własną logikę uwierzytelniania. – Zsolt
NIE! Proszę, nie rób tego! :-) – Max
Korzystanie z SqlMembership jest takie proste! Po prostu wyszukaj samouczek dotyczący członkostwa ASP.NET. Jest bardzo elastyczny! – Max