ASP.NET使用[授权]进行身份验证

时间:2008-11-30 17:36:40

标签: .net asp.net-mvc

我定义了一个Controller,使用[Authorize]属性强制进行身份验证。当会话超时时,请求仍会传递并执行,而不是强制重定向。

我确实使用FormsAuthentication来登录和注销用户。

关于如何控制它的任何想法?

示例:

[Authorize]
public class ProjectsController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
}

3 个答案:

答案 0 :(得分:1)

要跟踪用户会话,ASP.NET使用 ASP.NET_SessionId cookie。要跟踪经过身份验证的用户,ASP.NET使用 ASPXAUTH cookie(默认情况下)。

当会话超时 ASP.NET_SessionId 时,客户端可能不再发送cookie,但仍会发送 ASPXAUTH cookie,这可能解释了为什么要呈现您的操作。

要覆盖默认表单身份验证值,您可以查看here。我还建议您使用firebug扩展名来确切了解客户端发送的Cookie。

答案 1 :(得分:1)

同样,ASP.NET MVC建立在传统ASP.NET之上。是的,有一个“构建的身份验证shizzle”...这是传统ASP.NET使用的完全相同的Membership API。

意思......这里有其他问题。也许你开启了滑动会话......或者可能超时比你想象的要高,等等。

答案 2 :(得分:0)

根据你的其他question,我猜你根本就没有进入这个控制器。