Tworzę stronę w ASP.NET Web Forms w języku C#. Podłączyłem własną bazę danych z którą łączę się poprzez własną klasę implementującą IUserStore. Do wytworzenia linku weryfikującego wykorzystuję standardowy kod:
string code = manager.GenerateEmailConfirmationToken(user.Id);
string callbackUrl = IdentityHelper.GetUserConfirmationRedirectUrl(code, user.Id, Request);
manager.SendEmail(user.Id, "Confirm your account", "Please confirm your account by clicking this link: " + callbackUrl);
Link przychodzi na maila, można go kliknąć i zweryfikować. W tym celu wywoływana jest funkcja Task SetEmailConfirmedAsync(ApplicationUser user, bool confirmed) z klasy UserStore. Odnotowuję sobie zweryfikowanie maila dla danego użytkownika. Problem polega na tym, że po rejestracji użytkownik jest automatycznie logowany i ma dostęp do całej strony, wolałbym żeby pojawiał się komunikat o konieczności weryfikacji adresu email. Jak wykorzystać standardowy mechanizm ASP.NET by to osiągnąć? Wiem, że IUserStore posiada funkcję public Task<bool> GetEmailConfirmedAsync(ApplicationUser user) ale nie jest ona nawet wywoływana przez moją aplikację. Wiem to ponieważ wyrzucam wyjątek NotImplemented który powinien zatrzymać pracę programu a nic takiego się nie dzieje.