> 백엔드 개발 > C#.Net 튜토리얼 > asp.net mvc 5는 필터 기반 인증을 향상시킵니다.

asp.net mvc 5는 필터 기반 인증을 향상시킵니다.

伊谢尔伦
풀어 주다: 2016-11-24 13:22:00
원래의
1604명이 탐색했습니다.

최근 출시된 Visual Studio 2013 Developer Preview에 포함된 ASP.NET MVC 5를 통해 개발자는 다양한 타사 공급업체 또는 사용자 지정 인증 공급자를 사용할 수 있는 인증 필터를 적용할 수 있습니다. 사용자. 그러나 이러한 필터는 인증 필터를 호출하기 전에 적용됩니다.

인증 필터를 만들려면 개발자는 새 C# ASP.NET 프로젝트를 만들고 나열된 프로젝트 유형에서 MVC를 선택해야 합니다. Kunz, Leigh & Associates의 수석 소프트웨어 개발 엔지니어인 Eric Vogel은 인증 필터 사용을 테스트했습니다. 그는 사용자가 인증되지 않은 경우 로그인 페이지로 다시 리디렉션하는 사용자 지정 필터를 만들었습니다.

Eric은 CustomAttributes 디렉터리와

ActionFilterAttribute和IAuthenticationFilter:
public class BasicAuthAttribute: ActionFilterAttribute,IAuthenticationFilter
로그인 후 복사

을 상속하는 새 클래스 CustomAttribute를 만들었습니다. IAuthenticationFilter 인터페이스의 OnAuthentication() 메서드를 사용하여 필요한 인증을 수행할 수 있으며 OnAuthenticationChallenge 메서드는 다음을 제한합니다. 신원을 기반으로 인증된 사용자에 대한 액세스.

OnAuthenticationChallenge 메소드는 AuthenticationChallengeContext 매개변수를 수신하며 구현 코드는 다음과 같습니다.

public void OnAuthenticationChallenge(AuthenticationChallengeContext filterContext)
{
    var user = filterContext.HttpContext.User;
    if (user == null || !user.Identity.IsAuthenticated)
    {
        filterContext.Result = new HttpUnauthorizedResult();
    }
}
로그인 후 복사

독자는 Eric의 블로그 게시물에서 전체 소스 코드를 얻을 수 있습니다. BasicAuthAttribute 클래스는 테스트하기 쉽습니다. HomeController 클래스 파일을 열고 다음 코드를 추가합니다.

using VSMMvc5AuthFilterDemo.CustomAttributes;
로그인 후 복사

마지막으로 다음과 같이 사용자 정의 특성을 HomeController 클래스에 적용합니다.

[BasicAuthAttribute]
   public class HomeController : Controller
로그인 후 복사


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿