在我的ASP.NET MVC 3应用程序中,我有一个计时器,每个时间段执行一次控制器操作。这样我的会话永远不会超时...
我不希望此操作在每次执行时重置会话计时器。我尝试通过创建自定义属性[AllowAnonymous]
来完成此操作,例如此链接
http://blogs.msdn.com/b/rickandy/archive/2011/05/02/securing-your-asp-net-mvc-3-application.aspx
但是这样,任何用户都可以在不登录的情况下访问此操作,这不是我想要的。
有什么想法吗?
答案 0 :(得分:1)
您可以在web.config中禁用会话的滑动过期:
<forms slidingExpiration="false" loginUrl="~/Account/LogOn" timeout="2800" />
这样,表单身份验证cookie将不会续订,并且故障单仅在固定的时间内有效。
如果您只想为某些请求禁用滑动过期,则可以查看following answer
。它有点hacky,因为票证更新代码深埋在FormsAuthenticationModule中。
答案 1 :(得分:0)
如何创建通过子域访问的其他应用程序?我认为这不仅是最简单,也是最干净的方式。
如果您使用任何其他方式而另一个开发人员需要稍后支持它,那么根据解决方案的复杂性,如果需要以某种方式更改它,则执行此操作的成本可能会更高。