如何强制IIS Windows身份验证创建的会话超时?

时间:2016-12-30 01:09:21

标签: c# asp.net asp.net-mvc authentication iis

我有一个可通过Windows身份验证和Active Directory访问的网站,目前似乎有比我设置的更长的超时时间。我试图将其缩短,以帮助提高网站的安全性。

许多人似乎遇到了相反的问题,他们试图设置很长的超时(1小时或更长时间),并在大约20分钟内超时。我已尝试应用这些解决方案中提到的设置,但无法实现超时。

我已经搜索了这个网站,并阅读了一堆Microsoft文档,可能我的回答被这个问题的常见问题隐藏起来。似乎在至少发布到本网站的答案中,人们会期望我尝试的设置将实现我正在寻找的结果(特别是会话状态变量)。 示例:Asp.Net (MVC): Which session timeout is what?

复制问题所需的最小解决方案是:

  1. 在IIS 7.5中创建一个新站点(我使用了在C:\ inetpub \ wwwroot中找到的默认IIS站点,并使用新的本地生成的证书将https绑定到随机端口号以尝试隔离问题)
  2. 在" IIS->身份验证"中,启用Windows身份验证,禁用所有其他authentication options
  3. 添加" IIS->授权规则"设置为仅允许特定用户与我的Windows用户ID不同(我实际上使用AD组,但我认为这有助于简化问题,只使用用户名)
  4. 在" IIS->配置编辑器"中,将system.web / authentication / forms / timeout设置为00:01:00。
  5. 在" ASP.NET->会话状态"中,设置Cookie设置 - >超时(以分钟为单位):到1
  6. 在应用程序池中,选择高级设置并将"处理模型 - >空闲超时(分钟)设置为0
  7. 完成所有这些操作后,如果您浏览到该网站,它会询问您的Windows登录,当您提供该页面时,页面将正确加载,但如果您等待10分钟,您仍然可以刷新页面,但如果您关闭浏览器,则需要您按照我的预期再次登录。我希望在1分钟后,应该要求用户进行身份验证以再次查看该页面。

    是否有一些明显的设置,我在某处丢失?我是否能够完全基于这些Windows身份验证设置实现我所期望的目标?我可能误解了这些设置在做什么?

    P.S。对不起,我为每个步骤截取了屏幕截图,并提供了更多我寻找答案的地方示例,但遗憾的是我只能在帖子中发布两个链接。

0 个答案:

没有答案