Я думаю, что мое понимание на SimpleMembershipProvider составляет почти 60%, а остальные узнают, как он работает внутри.
Вы можете быстро найти проблему при использовании фильтра [InitializeSimpleMembership] только в AccountController (шаблон по умолчанию). Я думаю, что везде, где вы используете API-интерфейс Memberhsip или WebMatrix.WebSecurity, вам нужно сначала убедиться, что этот фильтр нужно вызвать.
Позже, если вы используете User.IsInRole в моем _Layout.cshtml. Вам необходимо применить фильтр ко всем контроллерам, после чего вы начнете его регистрировать в глобальном масштабе.
Однако я просто понимаю, что есть LazyInitializer.EnsureInitialized, которые делают инициализацию выполняемой только один раз за начало приложения.
Итак, почему SimpleMembershipInitializer (в фильтре) не находится непосредственно в Application_Start?
Есть ли причина использовать фильтр?