Кто-нибудь успешно использует атрибуты Authorize и RequireSSL (из MVC futures) вместе на контроллере? Я создал контроллер, для которого я должен применить правило, согласно которому пользователь должен войти в систему и использовать безопасное соединение для выполнения. Если пользователь не подключен к защищенному соединению, я хочу, чтобы приложение перенаправляло его на https, поэтому я использую Redirect = true в атрибуте RequireSSL. Код выглядит примерно так (CheckPasswordExpired - это мой доморощенный атрибут):
[Authorize]
[RequireSsl(Redirect = true)]
[CheckPasswordExpired(ActionName = "ChangePassword",
ControllerName = "Account")]
[HandleError]
public class ActionsController : Controller
{
....
}
mysite.com / Actions / Index - это маршрут по умолчанию для сайта, а также страница по умолчанию для перенаправления на проверку подлинности с помощью форм.
Когда я перехожу на http://mysite.com,, я хочу получить пользователя, перенаправленного на безопасное соединение, и, поскольку они еще не аутентифицированы, на страницу входа. Я получаю сообщение об ошибке HTTP 400 (неверный запрос). Если я перехожу на http://mysite.com/Account/Login,, перенаправление работает, но ни у моего контроллера учетной записи, ни у метода входа в систему нет атрибута [Authorize].
У кого-нибудь есть опыт совместного использования этих двух атрибутов для достижения моей цели?
Спасибо!