2014-09-22 4 views
0

MVC 5 응용 프로그램 템플릿을 사용하도록 변환 할 기존 응용 프로그램이 있습니다. 나는 [권한 부여] 속성 같은 것들을 사용할 수 있도록, 내가 사용자를 설정하는 방법MVC 5 사용자 지정 인증

bool Login(username, password); 

을 로그인으로 : 우리는 그냥이 서명은 말할 수 있도록 간단한 예제를 유지하기 위해, 사용자 정의 API 방법이 있나요? 잠시 동안 우리는 사이트를 개발하기 시작하는 가장 간단한 방법을 원합니다.

this을 구현하여 수동으로 User.Identity를 설정해 보았습니다. 그러나 이것은 이후의 요청마다 재설정됩니다.

답변

0

결국 계정 컨트롤러로 로직을 추출했습니다. 이것은 Login을 처리하고 결과를 세션에 저장합니다. 그럼 난 그냥 다음과 같이 System.Web.Mvc.AuthorizeAttribute 클래스와 AuthoriseCore 메소드를 오버라이드 (override) 할 필요 :

using System.Web; 
using System.Web.Mvc; 

namespace HomeHealth.Web.Infrastructure 
{ 
    public class HomeHealthAuthorizeAttribute : AuthorizeAttribute 
    { 

     protected override bool AuthorizeCore(HttpContextBase httpContext) 
     { 
      return WebSession.SdkContext.IsAuthenticated; 
     } 

    } 
} 

그것은 세션의 컨텍스트를 액세스 정리하는 헬퍼 코드를 가지고 있지만, 그 무관합니다. 요점은 이것이 아마도 당신이 원하는 속성/방법이라는 것입니다. 다음으로 컨트롤러/메소드를 표시 할 수 있습니다.

[HomeHealthAuthorize] 
public class PatientController : BaseController 

그러면 모든 검사/리디렉션이 수행됩니다.

관련 문제