我有一个隐藏的iframe,只要用户在线,就会不时刷新,以保持ASP.NET会话的正常运行.
但是,我一直在收到用户遇到会话超时的报告,所以现在我对重置会话计时器需要什么感到怀疑.
隐藏的iframe的内容页面(简单的html页面)以一定的间隔刷新自身,这明显小于会话超时.
我的问题是:是否足够(对于会话计时器重置)让页面刷新自己,即使服务器响应HTTP/1.x 304 Not Modified?
它只是GET请求本身告诉Web服务器重置会话计时器吗?
或者我是否需要确保实际获取页面并接收HTTP/1.x 200 OK响应?
我正在寻找创建一个挂钩到Drupal超时过程的自定义模块.当用户超时时,它需要快速ping到另一台服务器 - 这样它们也会从第二台服务器上的系统中注销.
事情是......我找不到任何关于Drupal如何管理它超时的文档.我能找到的所有内容都与PHP.ini有关.
这让我想知道是否有可能在超时时触发事件?有没有人有这方面的经验?
谢谢,休
在web.xml我有这个
<session-config>
<session-timeout>2</session-timeout>
</session-config>
<listener>
<listener-class>myapplication.SessionListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
在SessionListener.java我有
public void sessionDestroyed (HttpSessionEvent event){
System.out.println("Visitor Removed!!");
}
Run Code Online (Sandbox Code Playgroud)
但它似乎System.out.println("Visitor Removed!!")从未被执行过.我是Tomcat 6和JSP的新手.有什么建议吗?
有没有办法"捕获"会话超时事件,以便在无效之前从HttpSession中检索数据?
我们正在实现过滤器接口,并且在doFilter方法中,当会话超时时,我们在登录时存储在会话对象中的用户为空.
提前致谢.
我有一个Web应用程序每分钟左右ping一次数据库以检查新条目.该页面设计为与...没有任何交互.您只需将其保持打开状态即可显示内容.该页面受密码保护,该网站可以在没有任何人点击网络浏览器或其他任何东西的情况下进行.我发现它在大约一天之后停止检查数据库(通过Ajax请求),然后如果你手动刷新页面,它会再次进入登录页面.我假设那是因为具有登录信息的会话到期.我从未设置过期时间,但PHP会在一定时间后自动销毁会话吗?我该怎么做才能解决这个问题?
谢谢
感谢所有回复...有没有办法将会话设置为永不过期而不仅仅是更改PHP设置本身?
我有一个使用窗体身份验证设置为45分钟超时的asp.net 4.0应用程序。我想在会话过期后将用户重定向到超时页面。谁能告诉我该怎么做?我正在运行.net 4.0。
web.config具有:
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/Login.aspx"
defaultUrl="~/Default.aspx" protection="All" timeout="45"
requireSSL="false">
</forms>
</authentication>
Run Code Online (Sandbox Code Playgroud)
Global.asax.cs文件具有:
void Session_End(object sender, EventArgs e)
{
Response.Redirect("~/Timeout.aspx");
}
Run Code Online (Sandbox Code Playgroud) 我正在android中建立一个登录应用程序,我正在点击一个url(用户名和密码),直到那部分它工作正常,但在那之后每当我点击一个url(一旦用户被认证),它什么都不返回(即错误消息,请先登录).但它在非常相似的iPhone应用程序和浏览器上工作正常.
我无法理解实际问题是什么.服务器端是否有任何问题(即在PHP编码中)或Android应用程序有问题.我们实际上不能责怪服务器端编码,因为它适用于相同的iphone应用程序和浏览器.
任何想法或帮助将受到高度赞赏.谢谢.
我是zend的新手,我想问一下,如果用户闲置10分钟,我怎样才能使用户的会话命名空间的特定密钥失效.我在zend会话中定义了一个命名空间
$session = new Zend_Session_Namespace('loginNamespace');
Run Code Online (Sandbox Code Playgroud)
现在,当用户登录时,我在会话命名空间中设置了键loggedIn = 1.现在,如果用户保持空闲但只有该密钥,我希望不会使整个会话到期.我怎样才能做到这一点?
我已经在线阅读了大约一百万条关于配置文件中会话超时的帖子,我几乎要流泪了.我的配置文件中有以下代码.我将超时设置为1分钟作为测试.会话确实在1分钟内结束,但是,如果我设置为120(2小时)这是我想要的,会话结束后默认时间20分钟,我相信.谁能提供一些帮助.
<?xml version="1.0"?>
<configuration>
<system.web>
<sessionState mode="InProc" cookieless="false" timeout="1" >
</sessionState>
<compilation debug="true"/>
<authentication mode="Forms">
<forms defaultUrl="~/Default.aspx"
loginUrl="~/Default.aspx"
name=".ASPXFORMSAUTH"
slidingExpiration="true"
timeout="1" />
</authentication>
<customErrors mode="Off" />
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud) 我想编写一个Java中的Hook,如果Liferay 5.2.3 Portal的会话超时则执行该Hook.
我设法编写了一个Hook,只要用户点击注销链接,就会执行以下设置liferay-hook.xml:
<hook>
<event>
<event-class>com.extensions.hooks.LogoutHook</event-class>
<event-type>logout.events.pre</event-type>
</event>
</hook>
Run Code Online (Sandbox Code Playgroud)
但是,如果会话超时,则不会调用Logout Hook,但我需要在超时时执行相同的方法.我没有找到会话超时的事件类型.
有没有办法在会话超时时执行Java方法并识别结束会话的用户ID?