MVC2 응용 프로그램에서 대부분의 요청에 양식 인증을 사용하고 특정 URI에 대한 요청을 통해 사용자 지정 인증을 사용하고자합니다. 이렇게하려면 FormsAuthentication_OnAuthenticate()
메서드를 추가하고 URI를 확인한 다음 요청 헤더에서 사용자 이름과 암호를 확인하려는 배타적 URI 중 하나인지 확인하십시오.MVC에서 사용자 정의 인증을 구현할 때 요청 처리를 어떻게 종료합니까?
제공된 자격 증명이 잘못되면 요청을 종료하는 방법에 문제가 있습니다.
내가 시도 :
HttpContext context = args.Context;
context.Response.Write("Wrong credentials");
context.Response.StatusCode = 401;
context.Response.End();
을하지만 그렇게되면 요청은 제가 요청을 종료 할
<authentication mode="Forms">
<forms loginUrl="~/LogOn"/>
</authentication>
에서의 web.config에 지정된 URI로 전달됩니다 - 그래서 응답이 클라이언트로 전송되고 연결이 닫힙니다. 어떻게해야합니까?
보기로 리디렉션하고 싶지 않습니다. 이러한 주소는 프로그래밍 방식의 요청을위한 것이므로 일부 미리 정의 된 문자열을 응답에 제공하고 닫아야합니다. 따라서 Forms Auth 모듈에 대한 차단을 원하지 않습니다. – sharptooth
@sharptooth 만약 당신이보기로 리다이렉트하고 싶지 않다면, 빈 결과 나 클라이언트가 기대하는 것만 반환하면됩니다 :'filterContext.Result = new EmptyResult();' –
그래,하지만이 방법으로 나의 커스텀 인증을 어떻게 호출 할까? ? – sharptooth