2009-07-04 103 views

回答

1

编辑

基于您的评论,我会建议通过定制的基本控制器,所有其他的控制器将派生自处理这个。让自定义基本控制器重写OnActionExecuting并检查过期状态。如果状态已过期,请从响应中删除身份验证Cookie(FormsAuthentication.SignOut),并将ActionExecutingContext参数上的Result属性设置为HttpUnauthorizedResult。或者,您可以简单地重定向到注销操作。

您还应该确保您的会话超时和表单身份验证Cookie超时时间相同。

原来的答复离开上下文

我不知道你问什么。当服务器会话过期时,Cookie中的身份验证票证不再有效。任何需要授权的操作(最低限度需要身份验证)都应该返回一个HttpUnauthorizedResult,默认情况下,它将重定向到Forms登录页面。

您是否要求如何在客户端过期会话,以便客户端甚至在没有请求的情况下执行某些操作?如果是这样,你可能会对如何通过javascript/ajax处理这个问题感兴趣。在client-side session termination上看到我的博客文章http://farm-fresh-code.blogspot.com

+0

在这种情况下会话状态服务会话过期,因此客户端Cookie仍然有效,我需要过期 – mamu 2009-07-04 15:24:39

+0

我根据您的评论更新了我的回复。 – tvanfosson 2009-07-04 15:31:20

0

我想你想在用户注销后清除浏览器历史记录。