`
lengchaotian
  • 浏览: 281105 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

用户登录锁定后异常退出

    博客分类:
  • java
 
阅读更多

应用场景: 当用户登录时在被锁定状态下异常退出,做一下处理:

/**
     * <判断session超时如果超时注销session>
     * <功能详细描述>
     * @see [类、类#方法、类#成员]
     */
    public void checkSession()
    {
        // 获取服务器上下文对象
        ServletContext sct = palService.getServletContext();
        
        //获取所有用户信息,并遍历用户
        List<UserInfo> userList = userService.getAllUser();
        for (UserInfo users : userList)
        {
            //根据用户ID从服务器上下文中获取session对象
            HttpSession session = (HttpSession)sct.getAttribute(users.getUserID());
            
            //如果session不为空判断用户最后一次操作是否超时,目前暂定超时时间为5分钟
            if (session != null)
            {
                //获取session不为空的用户ID
                String userID = users.getUserID();
                
                //获取系统当前时间
                long systemTime = System.currentTimeMillis();
                
                //获取用户最后一次操作时间
                long sseeionTime = session.getLastAccessedTime();
                
                System.out.println(systemTime - sseeionTime);
                
                //如果用户最后一次操作时间大于5分钟系统自动把用户锁解锁,并把session和ServletContext释放
                if (systemTime - sseeionTime > 60000)
                {
                    //解锁
                    userService.deblockingUserById(userID);
                    
                    //清空session
                    session.removeAttribute("user");
                    
                    //清空ServletContext
                    sct.removeAttribute(userID);
                }
            }
        }
    }

 

获取servletContext

@Service("palService")
public class PalpitationCheckServiceImpl implements ServletContextAware
{
    private ServletContext ctx;
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void setServletContext(ServletContext servletcontext)
    {
        this.ctx = servletcontext;
    }
    
    public ServletContext getServletContext()
    {
        return this.ctx;
    }
}

 

ServletContextAware:在Spring中,凡是实现ServletContextAware接口的类,都可以取得ServletContext.

分享到:
评论

相关推荐

    C#锁定程序项目winform锁定界面

    - 对锁定功能进行详尽的测试,包括正常解锁、强制退出、异常情况下的行为等,确保其稳定性和安全性。 综上所述,实现"C#锁定程序项目winform锁定界面"涉及到多个步骤和技术,包括用户活动检测、事件监听、界面设计...

    Web单点登录 禁止多用户登录

    Web单点登录(Single Sign-On, SSO)是一种身份验证机制,它允许用户在一个系统上登录后,无需再次输入凭证即可访问多个相互关联的应用系统。这个功能在许多企业级应用和网络服务中广泛使用,提高了用户体验,同时也...

    工作中应用(U8异常锁定清理)

    * 当操作突然无响应非法退出或突然断电的情况下,记录就会留在表中,用户不能往下进行操作 * 因此通过异常清除模块,清除这样的记录使用户继续正常操作。 * * 说明1:ua_tasklog ,ua_task_common 通过 字段...

    C# 系统无操作自动锁定程序

    在本文中,我们将深入探讨如何使用C#编程语言创建一个Windows Forms(WinFrom)应用程序,该程序能够在用户长时间未进行任何操作后自动锁定系统。这个功能对于提高安全性、节省资源和保护用户隐私等方面都有实际应用...

    用户登录及处理主页面.pdf

    退出后,系统应确保用户无法再访问之前权限范围内的资源,同时可能更新会话记录,以反映用户已离线。 ### 结论 用户登录和处理主页面的规约文档详细描述了这些关键功能的各个方面,包括其设计、交互和安全考虑。...

    ASP+SQL用户登录及管理系统

    在ASP+SQL用户登录及管理系统中,SQL用于创建、管理用户账户信息,验证用户输入的登录凭据,并在用户成功登录后可能涉及到的其他操作,如用户权限管理、数据查询等。 该系统的实现主要包括以下几个核心部分: 1. *...

    N卡刷新率锁定工具

    【N卡刷新率锁定工具】是一款专为使用NVIDIA(N卡)显卡的用户设计的应用程序,旨在帮助用户锁定显示器的刷新率,以优化游戏体验或解决视觉不适问题。刷新率是显示器每秒钟更新图像的次数,通常以赫兹(Hz)为单位。...

    C# 实现在规定的时间内没有做任何操作,系统就注销

    在开发应用程序时,有时我们需要实现一种功能:当用户在一定时间内没有进行任何操作时,自动执行某些任务,例如注销系统、锁定屏幕等。本篇文章将详细介绍如何利用C#语言实现这一功能。 #### 一、理解需求 假设...

    win7下锁定分辨率

    然而,在运行全屏游戏或者某些应用时,这些程序可能会强制更改屏幕分辨率,导致退出后无法恢复到原来的设置,或者频繁切换造成困扰。此时,就需要一个能够锁定分辨率的工具,确保屏幕始终维持在用户期望的分辨率状态...

    用友异常任务清理工具

    然而,如果用户在操作过程中突然断电或退出软件,可能导致单据或档案被长时间锁定,无法进行其他操作。这时,用友异常任务清理工具可以连接到数据库,找出并解除这些锁定,恢复单据和档案的正常使用。 使用该工具的...

    Static静态变量的应用,用登录的方法演算,当输入密码超过三次时,自动退出程序.(VB6.0源代码编写)

    这可以通过条件语句实现,如`If FailedAttempts &gt;= 3 Then Exit Sub`,这将立即结束登录过程,并可能显示一条错误消息告知用户账户已被锁定。 5. **代码示例**: 以下是一个简化的VB6.0登录验证函数的示例: ```...

    用友维护工具可以清除单据锁定

    然而,如果编辑用户意外退出或系统出现故障,可能导致单据长时间锁定,影响其他用户正常操作。 4. **清除单据锁定** 使用用友维护工具,可以快速解决单据锁定问题。首先,运行`用友数据维护工具.exe`,在工具界面...

    不能初始化photoshop,因为该文件锁定,解决方法

    如果上一次使用Photoshop时程序异常退出,这些临时文件可能未能被正确清理,导致下一次启动时出现锁定文件的错误。 2. **操作系统权限问题**:某些情况下,锁定的文件可能是由于操作系统的权限设置不当,导致Photo...

    bxp4.5管理锁定解除方法

    然而,在某些特定条件下,如非法操作、系统维护或是异常退出等情况下,软件可能会自动触发管理锁定机制,以保护数据的完整性和系统的安全性。此时,用户将无法进行进一步的操作,直到解锁为止。 ### 解除管理锁定的...

    易语言U盘锁定机制

    4. **关闭锁定**:在完成特定任务或者程序退出时,调用"BlockInput"函数并传入布尔值false,关闭锁定状态,恢复正常输入。 5. **异常处理**:在调用这些函数时,应考虑到可能出现的异常情况,如权限不足、系统不...

    用友清除异常工具

    然而,有时用户可能在编辑过程中遇到问题退出,导致单据长时间锁定,其他用户无法访问。这时,用友清除异常工具可以解锁这些被锁定的单据,释放资源,恢复系统的正常使用。 3. **异常任务解锁**:除了清除异常任务...

    Java 多用户登录限制的实现方法

    然而,这种方法可能会面临用户异常退出导致的状态无法及时更新,以及频繁的数据库读写可能影响性能的问题。 2. 存储到application中:将在线用户的信息保存在全局的`application`作用域内,例如Spring框架中的`...

    锁定键盘的程序.zip

    在执行过程中,可能还需要处理异常,防止程序意外退出导致键盘无法正常使用。 6. **多线程编程**:如果该程序在后台运行,可能涉及到多线程概念。一个线程负责监听并响应键盘锁定/解锁的命令,另一个线程则负责执行...

    易语言源码易语言简单实现屏幕锁定源码.rar

    6. **退出和异常处理**:确保程序在用户成功解锁或强制退出时能正确关闭,避免资源泄露。 通过学习和分析这个源码,开发者不仅可以了解如何在易语言中实现屏幕锁定功能,还能进一步掌握易语言的基本编程技巧,比如...

    C# WPF 键盘锁定

    在需要退出程序时,用户需按照特定顺序按下键盘上的数字8和OK键。 首先,我们需要理解C#和WPF的基础。C#是一种面向对象的编程语言,由微软开发,常用于构建Windows桌面应用。WPF是.NET Framework的一部分,提供了一...

Global site tag (gtag.js) - Google Analytics