내 HTML의 일부 텍스트를 바꾸기 위해 ActionFilter을 만들려고합니다. 기본적으로 서버가 SSL을 사용하고있을 때 내 CDN (http://cdn.example.com)에 대한 참조를 내 서버 (https://www.example.com)에 대한 참조로 직접 대체하려고합니다. 이 내 보안 컨트롤러에 사용되는ASP.NET MVC ActionFilter를 사용하여 렌더링 된 HTML의 URL을 대체하는 방법
public class CdnSslAttribute : ActionFilterAttribute
{
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
if(filterContext.HttpContext.Request.IsSecureConnection)
{
// when the connection is secure,
// somehow replace all instances of http://cdn.example.com
// with https://www.example.com
}
}
}
:
[CdnSsl]
public class SecureController : Controller
{
}
내가 이렇게 할 이유 그래서 구조는 다음과 같은 것을 (나는 내가 시작해야하는 위치가 OnResultExecuted 가정)입니다 내 CDN이 SSL을 지원하지 않습니다. 마스터 페이지에는 CDN 리소스에 대한 참조가 있습니다. 예 :
<link href="http://cdn.example.com/Content/base.css" rel="stylesheet" type="text/css" />
개발자가 소스 코드로 작업하고 있는지 여부는 모두 다릅니다. "소유하지"마십시오. 코드를 수정할 수없는 시스템 용 플러그인을 개발 중입니다. 즉, UI의 특정 부분을 변경하기 위해 응답을 수정해야 함을 의미합니다. –