问题标签 [expired-sessions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
68 浏览

c# - 在子目录中加载 Microsoft.ReportViewer.WebForms 的问题

使用Microsoft.ReportViewer.WebForms 版本 15 工作正常但是, 由于我们已将 ReportViewerWebForm.aspx 移动到同一文件夹中的路径,因此我们在 ASP.NETSessionID cookie中添加了路径在此处输入图像描述

现在,SSRS 加载了一些东西,但无法加载图像/图表。从 domain.com/Reserved.ReportViewerWebControl.axd?querystring 加载哪个

如何在此 URL 中添加相同路径,以便获取会话值并加载图表。

Fiddler 结果将帮助您更详细地挖掘 验证红色 500 URL

那些 500 错误显示为ASP.NET 会话已过期或由于 ASP.NET_SessionID 具有路径而无法找到,如果我们从 cookie 中删除路径,则它可以工作,但为了某些合规性,我们必须添加路径

SSRS 报告加载但报告图表文本实际上是一个图表并且无法加载

如果有人可以帮助我,我真的很高兴。由于这个错误,我已经错过了截止日期并且无法交付。

先感谢您。

如果需要更多详细信息,请随时与我联系。

0 投票
1 回答
155 浏览

asp.net-core - JWT 在 .NET Core Web API 中过期太快

我面临的问题是我的 JWT 在空闲后几分钟内到期,即使我已将 ExpireTimeSpan 设置为 60 分钟(或更长;甚至尝试了 1 年)。

目前我防止令牌过期的方式是每隔几分钟向我的服务器发送虚拟请求,这实际上会触发 SlidingExpiration 部分。

理想情况下,即使在用户关闭我的网页后,我也希望令牌保持活动状态。我不确定我在启动代码中遗漏了什么,有什么指示吗?

编辑:这是我生成令牌的方式。

0 投票
0 回答
475 浏览

apache-zookeeper - Apache Curator 无法重置过期会话(Apache Curator 4.2.0;Apache Zookeeper 3.4.0)

我参考了旧版本的 Apache Curator 和 Zookeeper( Apache Curator 无法重置过期会话)问了一个类似的问题,并建议升级。我现在已经更新到最新版本的客户端软件,并且看到了一个非常相似的问题。

似乎当 Zookeeper 会话过期时,在某些情况下客户端连接没有被重置。这导致 Curator 客户端进入指数回退,它反复尝试使用过期会话,每次都失败并出现异常“ org.apache.zookeeper.KeeperException$SessionExpiredException: KeeperErrorCode = Session expired for /zk/path ” .

如果客户端服务完全重新启动,一切都会恢复正常。

客户端日志记录(Apache Curator 4.2.0;Apache Zookeeper 3.4.8):

服务器日志记录(Zookeeper 3.4.13)

没有与“KeeperErrorCode = Session expired”客户端错误对应的服务器日志记录。

非常感谢您对此问题的任何见解。谢谢!

0 投票
1 回答
38 浏览

javascript - 当用户在网页上时,定期询问用户是否希望保持登录状态的最佳方式是什么?

为了保护由我的网站维护的会员用户信息以及我网站上的一般专有信息,我的网站要求用户创建帐户,然后登录他们的帐户,然后才能离开我网站的主页到我网站中的其他网页。然而,用户仅仅登录他们的账户是不够的,他们还需要通过浏览我网站中的网页来使用系统,或者在某些页面上,操作网页中的控件或在表单域控件中输入数据。从而证明他们仍在使用该网站,而不仅仅是让我的网站之一无人看管并向其他人开放。此外,我想阻止有人在浏览器中找到我的网页之一'

除了我网站中的主页之外,当我的一个网页被请求时,我的网站的服务器端 php 代码会计算到期日期时间,然后检查系统的日期时间以查看用户是否是仍然登录。当请求的网页首次使用 JavaScript 代码加载到用户的浏览器时,会执行此检查。当使用网站的服务器端 php 代码请求我的网站中的网页时,也会执行此检查。在这些检查中的任何一个中,如果到期日期时间早于系统的当前日期时间,则用户将自动注销并返回到我网站的主页。

但是,在我的网站中有一些页面,登录的会员用户必须在网页中输入大量信息,然后将这些数据发布到服务器,但如果他们这样做的时间太长,那么他们当他们自动注销时将丢失该信息。相反,在到期日期时间到期之前,我想询问用户是否希望保持登录状态,类似于银行在其网上银行系统中所做的事情。

做这个的最好方式是什么?

我想到了两种方法,它们都向用户显示一条消息,询问用户是否想延长他们的登录会话。如果用户回答是,则到期日期时间再延长 20 分钟。如果用户回答“否”或问题没有得到回答,则用户会自动注销,然后重定向到我网站的主页:

  1. 让服务器定期向每个用户的浏览器发送消息(轮询),以提示用户保持登录状态。

  2. 当每个网页加载时,它会启动一个计时器,当它超时时会提示用户保持登录状态。

第一种方法似乎要困难得多,我不知道该怎么做。

第二种方法虽然容易得多,但恶意用户似乎有可能击败。

这一切都严重依赖于被我的网络服务器的 php 代码阻止的所有网页请求,或者在我的一个网页从浏览器的历史记录中重新加载的情况下,网页中的 JavaScript 代码检测到这一点,注销用户并重定向到我网站的主页。

有没有办法编译浏览器端 JavaScript 或其他处理过期登录会话检查的代码,以便恶意用户无法使用浏览器的代码检查器击败它?这在 web-api 中可行吗?

有任何想法吗?

谢谢。

0 投票
3 回答
3320 浏览

reactjs - KeyCloak React refreshToken 过期令牌

我想在我的客户端应用程序中实现授权,但是在使用 Keycloak 的 React 应用程序中更新令牌时遇到问题。

应用程序.js

标题

未记录的标头

记录头

keycloak.js

我需要向 ReactKeycloakProvider 提供什么以在过期时获取新的 access_token ?如何根据 refreshToken 值获取 accessToken?由于获得此值,我不知道哪个方法或端点。我在网络中找不到这种问题。

请帮我 !

0 投票
2 回答
1753 浏览

php - Laravel v8.x - Jetstream Inertia,419 页面在生产中过期

在此处输入图像描述

页面已过期 419 在生产时出现。我尝试运行php artisan clear:cachephp artisan config:cachephp artisan key:generate,并使用相同的域更改SESSION_DOMAIN,但页面仍然错误

如果我停用 CSRF 中间件,它没有错误,但我无法转到下一页。

我可以在本地运行它,但是当我在本地使用生产数据库时,会出现相同的错误页面。

0 投票
0 回答
93 浏览

java - 以编程方式过期的 spring 会话导致 rest-api 用户面临意外响应

有一个 adminUserA可以使另一个rest-api用户的会话B过期。

现在,当用户第一次B尝试发出任何休息请求,它会得到以下200响应而没有任何content-type

此会话已过期(可能是由于同一用户尝试多次并发登录)。

我想向用户发送一个适当的响应,比如INVALID_SESSION使用正确的HttpStatus,所以我尝试servlet使用自定义org.springframework.web.servlet.HandlerInterceptor(在其他场景中有效)来拦截,我观察到甚至preHandle没有调用该方法。

似乎在会话验证过程中正在发送响应。我不知道这实际上是如何工作的。有没有办法获得自定义响应?能javax.servlet.http.HttpSessionListener有用吗?

0 投票
0 回答
139 浏览

blazor - 过期会话 Blazor Wasm

我有一个Blazor Wasm应用程序,其身份验证基于Identity Server 4(Visual Studio 2019模板的默认配置)。我的问题是,如果我保持应用程序不变,会话将在5 分钟后过期,我必须重新登录。我怎样才能改变它?我的意图是至少持续 8 个小时的工作日(我不知道这是否可能)。非常感谢您提前。

0 投票
1 回答
341 浏览

reactjs - React 在 Axios 响应拦截器中显示弹出窗口

我正在使用 React 中的刷新令牌和 JWT 令牌身份验证。我的用例是,如果 JWT 令牌已过期,请调用刷新令牌并再次使用 API。但是,如果刷新令牌也过期了,我想向用户显示一个警报弹出窗口(会话已过期。再次登录),并路由到登录页面。这是我的代码。我能够路由到登录页面,但我不知道如何在路由之前触发警报弹出窗口。

removeLocalStorageData存储功能将从本地存储中清除所有令牌和数据。我不想显示 window.alert 函数来显示弹出窗口。在路由到登录页面之前,还有其他方法可以显示弹出窗口吗?

我想弹出组件。我无法在拦截器中发送状态。我正在使用任何 redux。使用我自己的自定义上下文提供程序。

0 投票
2 回答
105 浏览

java - 在 Wicket 9 中,当用户的会话在某些页面中过期时,他们会被重定向到登录页面而不是 Session Expired 页面

在将一些遗留代码从 Wicket 1.5 升级到 Wicket 9 时,我发现重定向到“会话已过期”通知页面似乎被部分破坏了。

我在主应用程序文件中有以下语句,它以前总是可以工作:

这是应该触发重定向到“MyErrorPage”的场景:

  1. 用户成功登录并进入任何菜单选项。
  2. 他们坐了一会儿,什么也不做,他们的会话超时。
  3. 在这段不活动之后,他们单击链接或尝试提交表单。
  4. 此时,它们应该被重定向到“MyErrorPage”。

在点 (1) 中调用的菜单选项 - 让我们称之为 MyMenuPage - 可以使用两种可能的语法类型调用:

或者:

如果使用 SECOND 语法调用原始菜单页面,用户似乎只会被重定向到我的自定义错误页面。

如果原始页面是使用 FIRST 语法调用的,则用户会被直接发送到登录页面,而不会对他们的页面已过期的事实进行任何解释。

请有人告诉我如何在两种类型的页面中获得相同的结果 - 这不是无状态的,因为用户已经登录。