当前位置: 首页 > 知识库问答 >
问题:

在两种超时情况下,应用程序将用户重定向到登录页时的会话超时和身份验证超时值

黄沈浪
2023-03-14

如果会话已过期,则自定义筛选器将用户从窗体身份验证中注销,并将用户重定向到登录页。我也知道,当用户访问授权内容时,授权失败,同样的操作流将发生。

在这种情况下,会话或身份验证超时会产生相同的效果(用户被从表单auth中签名并重定向到登录页面),主要关注的是超时(会话)大于还是小于超时(身份验证)?

共有1个答案

松旻
2023-03-14

如果我正确理解您的问题,您的授权属性很可能是这里的守门员。关注的是当会话在窗体auth令牌之前超时,例如在应用程序池重启的情况下。这听起来像您正在处理这个(如果不是,我有代码,所以为这个)。在相反的情况下,您需要确保不依赖会话中的任何内容来执行非Auth页面/操作,否则,当用户可以匿名访问页面时,您将面临期望会话值的风险。除此之外,我无法想象如果另一个场景会导致问题。

您的auth属性应该始终捕捉这种情况,并重定向到会话再次启动的登录页面。

但是要小心会话--同时访问会话对象的用户的多个请求(即Ajax请求)将一次只处理一个,因为默认情况下会话对该用户是锁定的。

 类似资料:
  • 我在ASP.NET中使用窗体身份验证。我已将超时设置为1分钟。一旦我登录,如果经过身份验证,我将被重定向到主页(homepage.aspx)。这很好用。如果我远离网站,1分钟后回来,并试图访问任何其他页面,我将按预期重定向到登录页面。我的问题是,如果我回来做一些回发或刷新,那么只有我被重定向到登录页面,否则我将停留在同一个页面。如果我在1分钟后回来,我应该做什么才能登录页面出现在屏幕上。

  • 我在global.asax中尝试了以下代码,但不起作用,并导致Application_Error(“响应在此上下文中不可用。”)。

  • 我使用的是和和。一切都很好,但是当会话超时的时候,我会得到以下错误”,因为我已经在布局的main.gsp文件中调用了session变量。现在,我希望在每次会话超时后重定向到登录页面,并且不显示错误页面。要在会话超时后重定向,我已经在文件中这样做了 但是有这么多页,所以很难写每一页。还有其他的方法做这件事吗?请帮忙。

  • 所以我的问题是:什么是“客户端登录超时”,什么是一个好的默认设置?对我来说,一个完美的答案是在工作流失败时从用户的角度描述工作流(比如用户在点击电子邮件验证链接之前喝了一分钟咖啡)和/或进一步阅读的链接

  • 我正在尝试清除会话,并在会话超时时将用户注销,并重定向到登录页面。登录页是帐户控制器中的登录方法返回的部分视图。当会话超时时,登录视图会在当前页面中呈现用户在会话超时之前所在的页面以及URL。 Web.config

  • 我制作了一个非常简单的登录和会话结构,以便在未来基于JSP的应用程序中重用。是这样的: 而位于WebContent根目录的login.jsp页面有一个 表单,其中包含用于身份验证的专用innerHTML和一个用于接收会话超时或登录失败消息的${failure}字段。 这个结构对我来说很管用。它拦截、请求登录、检查会话和身份验证,等等,但有一个小缺陷:如果您在登录页面并在超时后刷新它(F5或在URL