2009-10-29 7 views
2

언제 mvc 응용 프로그램에서 내 쿠키를 확인해야합니까? 기본적으로 각 요청에 대해 수행 할 작업은 쿠키가 있는지 확인하는 것입니다. 그렇다면 쿠키 이름이 화면에 어딘가에 표시되고 페이지에 로그인 페이지가 있어야 사용자가 로그인 페이지로 리디렉션해야합니다.사용자 지정 인증 asp.net MVC

난 내 자신의 IPrinciple 개체를 만들고 사용하려는 경우 FormsAuthentication을 사용하고 싶지 않습니다. 기본 컨트롤러 클래스에서이 설정을 지정하거나 자체 Authorize 특성을 만들고 확인해야하는지 잘 모르겠습니다. 거기에.

기본 컨트롤러 클래스에서이 작업을 수행해야한다는 것을 처음 생각하면 oninit를 덮어 쓰는 webform의 기본 페이지와 비슷하기 때문입니다.

+0

당신을 모듈화 캐싱

  • 작품의 적절한 수준을 가지고 [ASP.Net MVC 사용자 지정 인증] (http://stackoverflow.com/q/1438151/148271)을 참조 할 수도 있습니다. – IsmailS

  • 답변

    3

    기본 컨트롤러 클래스에서 인증을 시도하지 마십시오. 작업 결과가 캐싱되는 상황에서는 작업이 전혀 실행되지 않고 컨트롤러가 인스턴스화되지 않습니다. 따라서 authentication done inside the controller is broken by design.

    여러 가지 이유로 인증을 사용자 지정하는 올바른 방법은 사용자 지정 인증 공급자를 만드는 것입니다. 그 이유에 대해 설명하고 위에 링크 된 게시물에서이 작업을 수행하는 방법에 대한 간단한 예제에 대한 링크를 제공했습니다. 이 방법을 사용하여 짧은에서

    :

    • 일반 ASP.NET과 작품뿐만 아니라와 MVC에게
    +0

    Context.User를 통해 액세스 할 수있는 올바른 IPrincipal 개체를 만드는 자체 공급자 핸들을 처리합니까? 또한 내 자신의 쿠키를 만들고이 쿠키를 새 공급자와 연결하는 방법은 무엇입니까? – Gazeth

    +0

    사용자 지정 공급자에서이 모든 작업을 수행 할 수 있습니다 (예). –

    +0

    어디에서이 모든 일을 처리 할 수 ​​있습니까? 멤버 자격 제공자를 서브 클래 싱하는 예제를 찾았지만 쿠키를 설정하고 자신의 iprincpal 객체를 만드는 예제가 보이지 않습니다.이 예제를 알고 계십니까? – Gazeth

    관련 문제