3

在我的 ASP.NET MVC 3 应用程序中,我有一个计时器,它每隔一段时间执行一个控制器操作。这样我的会话永远不会超时......

我不希望此操作在每次执行时都重置会话计时器。我试图通过创建[AllowAnonymous]像这个链接这样的自定义属性来做到这一点

http://blogs.msdn.com/b/rickandy/archive/2011/05/02/securing-your-asp-net-mvc-3-application.aspx

但是这样一来,任何用户都可以在不登录的情况下访问此操作,这不是我想要的。

有任何想法吗 ?

4

2 回答 2

1

您可以在 web.config 中禁用会话的滑动到期:

<forms slidingExpiration="false" loginUrl="~/Account/LogOn" timeout="2800" />

这样,表单身份验证 cookie 将不会被更新,并且票证将仅在固定的时间内有效。

如果您只想为某些请求禁用滑动到期,您可以查看following answer. 这有点 hacky,因为票证续订代码深埋在 FormsAuthenticationModule 中。

于 2013-04-02T16:20:27.517 回答
0

如何创建一个通过子域访问的不同应用程序?我认为这不仅是最简单而且最干净的方法。

如果您使用任何其他方式并且其他开发人员稍后需要支持它,那么根据解决方案的复杂性,如果他们需要以某种方式对其进行更改,那么这样做的成本可能会更高。

于 2013-04-03T12:49:51.287 回答