User.IsInRole nie działa

Mam aplikację ASP.NET MVC 4. Używam Simple Membership Provider, pozwalając zaznaczyć pole wyboru „Zapamiętaj mnie” pod formularzem logowania. Jeśli zaznaczone, tworzony jest stały plik cookie .ASPXAUTH, który wygasa po 100 dniach od daty logowania. I wszystko działa dobrze, oprócz głównego menu aplikacji.

Niektóre części menu są dostępne tylko dla użytkowników admin. Używam:

@if (User.IsInRole("Administrator")) { @Html.Partial("_MainMenuPartial") }

aby je zablokować dla zwykłego użytkownika. Takie podejście działa dobrze po zalogowaniu się do systemu. Kiedy wrócę po pewnym czasie i trwałe uwierzytelnienie zostanie użyte do uwierzytelnienia mnie, zaloguję się, ale

@User.IsInRole("Administrator")

zwraca „Fałsz”, więc nie widzę pozycji menu administratora. W tym samym czasie

@User.Identity.Name

zwraca poprawną nazwę logowania i

@User.Identity.IsAuthenticated

zwraca „Prawda”, co dowodzi, że trwały plik cookie działa poprawnie. Dlaczego nie mogę uzyskać dostępu do ról użytkowników, mimo że użytkownik jest uwierzytelniany przez system?

questionAnswers(16)

yourAnswerToTheQuestion