использование ssl с aspnet mvc создает проблему при публикации данных на защищенной странице - PullRequest
0 голосов
/ 02 марта 2010

Я знаю, что есть много постов, касающихся этого, и это прекрасно работает, если метод действия, который я вызываю, является просто методом get, но он терпит неудачу, если метод действия имеет атрибут 'Post', потому что в коде мы делаем перенаправление на URL, а не пост

Я использую код ниже ...

using System;
using System.Web;
using System.Web.Mvc;

namespace Helpers
{
    public class RequiresSSL : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            HttpRequestBase req = filterContext.HttpContext.Request;
            HttpResponseBase res = filterContext.HttpContext.Response;

            //Check if we're secure or not and if we're on the local box
            if (!req.IsSecureConnection && !req.IsLocal)
            {
                var builder = new UriBuilder(req.Url)
                {
                    Scheme = Uri.UriSchemeHttps,
                    Port = 443
                };
                res.Redirect(builder.Uri.ToString());
            }
            base.OnActionExecuting(filterContext);
        }
    }
} 

1 Ответ

0 голосов
/ 28 июля 2011

Если вы еще не поняли это, [RequireHttps] запекается в рамках. Поместите этот атрибут в метод, который вы хотите защитить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...