Sim*_*ant 2 java session session-timeout liferay
我想编写一个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?
有一个事件将在用户会话的Session Expiry/TimeOut事件时触发,
# Servlet session destroy event
servlet.session.destroy.events = com.extensions.hooks.CustomPreSessionExpireAction
Run Code Online (Sandbox Code Playgroud)
您可以添加此属性liferay-hook.xml或portal.properties[写入钩子]或portal-ext.properties.
并可以用作,
public class CustomPreSessionExpireAction extends SessionAction {
@Override
public void run(HttpSession session) throws ActionException {
//Code
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我们只能HttpSession在这里使用.所以,你需要找出到达userId这里的方法.
谢谢
| 归档时间: |
|
| 查看次数: |
2848 次 |
| 最近记录: |