Osobiście użyłem tego samego przykładu dla mojej implementacji Asp.net Identity przez Mongodb, a powodem, dla którego brakuje tej klasy, jest fakt, że próbka jest dość stara, a rozszerzenie Identity dla mongodb, od którego zależy, to tutaj i doszedł już do zaktualizowanych wersji.
Nie mogę podać pełnego opisu tego, jak go użyłem, ale z pewnością mogę wskazać Ci mój projekt open source tutaj gdzie nauczyłem się z przykładu, o którym wspomniałeś. Mam nadzieję, że rozwiąże to Twój problem z implementacją Asp.net Identity z Mongodb.
Aktualizacja
-
Jeśli chcesz mieć dokładnie to samo rozwiązanie, które Attila Hajdrik napisał w repozytorium git, upewnij się, że masz dokładnie tę samą wersję pakietu zdefiniowaną przez AspNet.Identity.MongoDB tutaj . Ponieważ sama biblioteka jest teraz sama aktualizowana i zakładam, że albo zaktualizowałeś wszystkie pakiety nuget, albo odtworzyłeś całe rozwiązanie napisane w repozytorium github zgodnie z potrzebami. W obu przypadkach możesz otrzymać wersję AspNet.Identity.MongoDB, której nie chcesz używać. To powinno być najkrótszym i najłatwiejszym rozwiązaniem dla Twoich potrzeb.
-
Teraz na moim rozwiązaniu wspomnianym powyżej z mojego repozytorium github. Użyłem własnego
IAccountContext
i użyłemUserManager<User>
jako mój podstawowy AccountManager iUserStore<User>
jako mój podstawowy sklep dla kierownika. TutajUser
class jest klasą tożsamości, której używam, i pochodzi odIdentityUser
.
Technicznie rzecz biorąc, możesz łatwo zbudować własny kontekst i naprawdę nie musisz w pełni polegać na podanym przykładzie.
Mój przykładowy AccountContext to :
public class AccountContext : IAccountContext
{
private readonly IDbContext dbContext;
private readonly AccountManager accountManager;
public AccountContext(
IDbContext dbContext,
AccountManager accoutnManager)
{
this.dbContext = dbContext;
this.accountManager = accoutnManager;
}
// Your own stuff here
}
Tutaj, AccountManager
to UserManager<T>
pochodna i zajmuje IUserStore<User>
w swoim konstruktorze. Daje to praktycznie więcej swobody w projektowaniu warstwy tożsamości. :)
Mam nadzieję że to pomoże.