【发布时间】:2009-07-15 18:25:13
【问题描述】:
是否有人在控制器上同时使用 Authorize 和 RequireSSL(来自 MVC 期货)属性?我创建了一个控制器,我必须强制执行用户必须登录并使用安全连接才能执行的规则。如果用户不在安全连接上,我希望应用程序重定向到 https,因此我在 RequireSSL 属性上使用 Redirect=true。代码看起来像(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] 属性。
任何人有使用这两个属性来实现我的目标的经验吗?
谢谢!
【问题讨论】:
标签: asp.net-mvc asp.net-membership