`
beyondqinghua
  • 浏览: 42377 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

简单的单用户登陆实现例子

    博客分类:
  • JEE
阅读更多

 前段时间搞了一个简单的单用户登陆实现例子,虽然不能实现敏捷反应,但是对安全相对要求底的系统还是可以考虑的。

   具体原理:结合过滤器+Servlet监听器。
    ServletContext对象保存的是整个WEB应用程序的共享信息,那么如果用户登陆可以把用户的部分信息保存在ServletContext中。
   Servlet监听器可以监听用户过期或者注销,把用户信息从ServletContext中删除。
   那么,现在关键是如何设计保存在ServletContext中的用户信息:这里,由于用户的ID是唯一的,那么我们可以利用Map集合保存在线用户列表(由于Map内部是使用类似索引查询进行快速查找,所以效率还是比较高的),Map的key是UID,Object是一个包含 uid、name、serial、time(记录时间)四个必要信息。这里关键是serial、time两个属性,用户登陆时会产生一个唯一的随机码,如果此用户登陆后在别的地方登陆,那么就会修改这个随机码,这时原来登陆的用户在ServletContext中保存的随机码就改变了(与用户sesion中的随机码不同),那么其就被迫下线(这个工作由过滤器来做);那么time的作用是什么呢,它是减少过滤器的判断时间间隔,减少用户每个请求都进行一次从ServletContext中获取serial与session中的serial进行比较的过程,减少资源的开销。
   需要建立的数据对象类:User.java(用户session)、UList.java(ServletContext中的元数据);
  需要建立的servlet:Login.java;
  需要建立的filter:Check.java(判断用户的权限以及serial是否有效);
  需要建立的listener servlet:UserListener.java(web服务器启动时初始化用户列表到ServletContext中,用户登陆时把用户信息添加到ServletContext中,用户过期或者注销把用户信息从ServletContext中删除)。
   分析完毕,附实现源代码!
分享到:
评论

相关推荐

    一个简单的Codeigniter用户登录验证例子程序

    在这个"一个简单的Codeigniter用户登录验证例子程序"中,我们将探讨如何在Codeigniter中实现用户认证和登录功能,这对于任何Web应用来说都是核心部分。这个程序包含了一些关键组件,如密码加密、session管理以及用户...

    用Struts实现的最简单的用户登录

    这个"用Struts2实现的最简单的用户登录"示例旨在展示如何利用Struts2框架构建一个基本的用户登录系统。 首先,Struts2的核心是Action类,它是处理用户请求的中心。在这个例子中,我们需要创建一个名为`LoginAction`...

    一个简单的用户管理的例子(含详细实现)

    这个简单的例子提供了一个基础的框架,帮助初学者理解如何将UML和C#结合起来设计和实现一个完整的系统。通过扩展这个例子,可以进一步学习如何处理并发、权限控制、数据验证等复杂问题,从而提升在用户管理领域的...

    使用servlet实现简单用户登录

    总的来说,"使用servlet实现简单用户登录"是一个基础的Web开发实践,它涵盖了Servlet、JSP和数据库交互的基础知识。通过这个项目,开发者可以学习到如何处理HTTP请求,建立数据库连接,以及如何在Web应用中实施基本...

    springmvc框架的用户登录注册的简单实现

    Spring MVC 是一个基于...通过学习这个简单的例子,初学者可以理解 Spring MVC 的基本工作原理,包括控制器、模型绑定、视图解析以及简单的用户管理流程。这将为进一步深入学习 Spring 框架以及 Web 开发打下坚实基础。

    web单点登录系统例子

    本示例提供的"web单点登录系统例子"是针对Web环境设计的一个简单SSO实现。下面将详细介绍SSO的核心概念以及实现SSO所需的关键技术和步骤。 一、SSO核心概念 1. 身份提供者(Identity Provider, IDP):负责验证用户...

    用户单点登录的一个简单实例

    在本实例中,我们将探讨如何实现一个简单的用户单点登录系统,其主要目标是确保同一时间只有一个用户在线。这样的功能在某些场景下很有用,比如限制设备共享、保护敏感数据或者防止恶意多账号操作。 实现SSO的关键...

    jsp+servlet+javabean实现登录例子

    这个简单的登录例子展示了JSP、Servlet和JavaBean如何协同工作来处理用户请求,验证身份并提供反馈。这种模式是Java Web开发中的基础架构,也是许多复杂应用的基础。通过理解和实践这样的例子,开发者可以更好地掌握...

    js实现简单登录功能的实例代码

    在本篇文章中,我们将探讨如何使用JavaScript实现一个简单的登录功能,并在登录成功后进行页面跳转操作。文章中的实例代码为我们提供了一个基础的HTML页面,其中包含了登录验证以及定时跳转的逻辑。 ### JavaScript...

    jsp入门 包含简单的登录注册例子

    【描述】"包含简单的登录注册例子连接数据库等问题 还有一个整合的文档"说明了这个教程不仅包含了基础的JSP语法和页面元素,还涉及到了实际项目中常见的用户认证系统。登录和注册是任何Web应用程序的核心功能,通过...

    web简单的用户登录

    在这个简单用户登录的例子中,我们主要关注的是前端界面的构建以及与后端交互的基本流程。 【描述】:该实例是一个不涉及数据库连接的Web实验项目。这意味着,虽然用户可以输入用户名和密码,但这些信息并没有被...

    hibernate登录小例子

    【hibernate登录小例子】是一个面向初学者的教程,主要展示了如何利用Hibernate框架实现一个简单的用户登录功能。在这个例子中,我们将深入探讨Hibernate的基本概念、配置、实体类的创建、映射文件的编写以及Session...

    cas单点登录自己写的测试例子

    在这个“cas单点登录自己写的测试例子”中,开发者提供了一个包含客户端和服务器端的完整示例,旨在帮助理解并实践CAS SSO机制。这个项目使用Maven作为构建工具,方便管理和依赖的解决。 首先,我们来看一下CAS的...

    java+mysql做的简单注册登录例子

    在本项目中,"java+mysql做的简单注册登录例子"是一个使用Java编程语言与MySQL数据库构建的基本用户注册和登录功能的实例。这个实例涵盖了Web开发中的基础概念,包括客户端交互、后端处理以及数据存储。以下是对这个...

    spring-Security简单例子

    这个"spring-Security简单例子"旨在展示如何在项目中配置和使用Spring Security进行用户登录和访问权限控制的基本操作。下面将详细阐述Spring Security的核心概念、配置步骤以及实现原理。 1. **核心概念** - **...

    asp.net2.0中一个简单的用户登录注册的例子

    这个例子将引导我们通过创建一个简单但功能完整的用户管理系统,利用ASP.NET 2.0内置的安全特性。我们将讨论以下几个关键知识点: 1. **ASP.NET 2.0 Overview**: ASP.NET 2.0是微软.NET Framework的一部分,提供了...

    C# 会员用户登录小例子(Access)

    在这个“C# 会员用户登录小例子(Access)”中,我们将探讨如何利用C#编程语言和Microsoft Access数据库来实现一个简单的会员登录系统。 C#是微软推出的一种面向对象的编程语言,广泛用于Windows应用程序开发,尤其是...

    Spring+SpringMVC的一个简单登录例子(参考用户ldhsecret)

    本示例将深入讲解如何结合Spring和SpringMVC实现一个简单的登录功能。参考了用户ldhsecret的分享,我们已经对原有代码进行了调整,确保在Eclipse环境中可以直接运行。 首先,了解Spring框架。Spring是一个开源的...

    struts2+cas单点登陆例子

    在这个例子中,我们将深入探讨如何在MyEclipse环境下使用Struts2框架与CAS服务器配合,实现单点登录功能。 首先,让我们理解一下CAS(Central Authentication Service)的核心概念。CAS是一个开放源码的SSO解决方案...

    hibernate+struts实现简单登录

    在IT行业中,开发Web应用程序是常见的任务之一,而"hibernate+struts实现简单登录"就是一个典型的应用场景。这个项目使用了MyEclipse作为集成开发环境,Struts作为MVC框架,以及Hibernate作为对象关系映射(ORM)...

Global site tag (gtag.js) - Google Analytics