2013-12-20 9 views
0

나는 page에서 코드를 가져 왔습니다. 기본적으로 모든 요청에 ​​SSL을 요구하려고합니다.웹 API에 SSL을 요구하는 방법

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Net; 
using System.Web.Mvc; 
using System.Net.Http; 
using System.Web.Http.Controllers; 


namespace Test 
{ 
    public class RequireSSL : ActionFilterAttribute 
    { 
     public override void OnAuthorization(HttpActionContext actionContext) 
     { 
      if (actionContext.Request.RequestUri.Scheme != Uri.UriSchemeHttps) 
      { 
       actionContext.Response = new HttpResponseMessage(System.Net.HttpStatusCode.Forbidden) 
       { 
        ReasonPhrase = "HTTPS Required" 
       }; 
      } 
      else 
      { 
       base.OnAuthorization(actionContext); 
      } 
     } 
    } 
} 

내가 직면하고 문제는 내가 "어떤 적절한 방법은 무시 없습니다"라고 OnAuthorization에서 파란색 scriggily 라인을 가지고 있습니다 : 여기 내가 가지고있는 코드입니다. 이 문제를 해결하는 방법을 모릅니다. 어떤 아이디어? RequireHttpsAttribute

+0

AuthorizeAttribute에서 상속 해보십시오. http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute(v=vs.118).aspx –

답변

1

는 사용할 수 RequireHttpsAttrobute 속성이있다. 귀하의 예제에서 그것을 변경하면 올바르게 컴파일됩니다.

+0

아마도이 방법을 사용하는 것이 좋습니다. - 바퀴를 재발 명할 필요가 없습니다. – vcsjones

0

을하면, 그것은 AuthorizationFilterAttribute하지 ActionFilterAttribute에서 파생 년대 예를주의 깊게 보면 :

관련 문제