내 ASP.Net MVC 응용 프로그램에서 SimpleMembership을 사용하려고합니다. 권한 부여 SecureController라는 기본 클래스를 확장 할 필요가 내 모든 컨트롤러 :.ASP.Net MVC 4의 SimpleMembership InitializeSimpleMembership이 호출되지 않습니다.
[Authorize]
[InitializeSimpleMembership]
[HandleException]
public class SecureController : Controller
{
protected UserProfile CurrentUser;
protected override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
var currentuserid = WebSecurity.CurrentUserId;
var context = new UsersContext();
CurrentUser = context.UserProfiles.SingleOrDefault(u => u.AuthenticationId == currentuserid);
if (CurrentUser != null)
{
ViewBag.UserName = CurrentUser.Name;
ViewBag.UserId = CurrentUser.Id;
}
}
}
내가 WebSecurity "클래스"당신이 다른 어떤 메서드를 호출하기 전에 방법 "WebSecurity.InitializeDatabaseConnection"당신은 호출해야 "지고있어이 호출은 사이트의 루트에있는 _AppStart.cshtml 파일에 있어야합니다. " WebSecurity.CurrentUserId를 호출 할 때 오류 메시지가 표시됩니다. InitializeSimpleMembershipAttribute의 OnActionExecuting에 중단 점을 넣었지만 중단 점이 결코 부딪치지 않았습니다. InitializeSimpleMembership이 무시당하는 것 같습니다.
FilterConfig에서도 InitializeSimpleMembershipAttribute에 대한 호출을 추가했습니다. FilterConfig.RegisterGlobalFilters는 Global.asax에서 호출되며이 역시 도움이되지 않습니다.
아이디어가 있으십니까?
감사합니다. 나는 당신의 충고를 따라 Global.asax가 어떻게 디자인되었는지를 따라갈 Config를 만들었다. 완벽하게 작동합니다. –