`
ljp218ljp218
  • 浏览: 1109 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

tapestry中如何禁止一个用户或是一台机器重复登陆

阅读更多
/** 判断该判断同一个用户是否同时在两台机子上登陆:begin
*/
//根据用户登录名或ID来判断
//轮询hashtable中的信息
HttpSession session =cycle.getRequestContext().getSession();    Enumeration v_enum= CacheData.ht.keys();
while(v_enum.hasMoreElements())
{
String key=(String)v_enum.nextElement();
HttpSession v_session=(HttpSession)CacheData.ht.get(key);
if(v_session==null)
{
CacheData.ht.remove(key);
continue;
}
String v_temp = new String();
try
{
if(v_session.getId()==null)
{ continue;
}
else
{
v_temp=v_session.getAttribute("loginname").toString();
}
}
catch(Exception e)
{
}
if(v_temp.equals(this.getUsername()))
{
//已经存在了,则后替代前
try
{
if(v_session!=session)
{
v_session.invalidate();
CacheData.ht.remove(key);
}
}
catch(Exception e)
{
}
}
}
try
{
session.setAttribute("loginname",this.getUsername());
String aaa = (String)session.getAttribute("loginname");
CacheData.ht.put(session.getId(),session);
}
catch(Exception e)
{
e.printStackTrace();
}



/************
CacheData.java

package com.ce.security.util;
import java.util.Hashtable;
import java.util.Iterator;
import javax.servlet.http.HttpSession;
public class CacheData
{   
    public CacheData()
    {       
    }
    public static Hashtable ht = new Hashtable();
    static public Iterator getSet()
    {
        return ht.values().iterator();
    }
    static public HttpSession getSession(String sessionId)
    {
        return (HttpSession)ht.get(sessionId);
    }
}
*************/ [/color][color=indigo][color=blue][/color]
分享到:
评论

相关推荐

    tapestry5.3.5 IOC用户登陆权限

    在这个场景中,我们关注的是"IOC用户登陆权限",这涉及到如何在Tapestry应用中实现身份验证和授权。 IOC(Inversion of Control,控制反转)是一种设计模式,通常与依赖注入(Dependency Injection)一起使用,以...

    tapestry官方中文文档

    总的来说,Tapestry 4是一个强大且灵活的Web开发框架,通过其组件化、声明式编程和事件驱动的特性,能有效提高开发效率,同时保持代码的整洁和可维护性。对于想要深入Java Web开发的开发者来说,掌握Tapestry的知识...

    tapestry5中文文档

    Apache Tapestry 5 是一个基于Java的Web应用开发框架,其设计目的是为了简化Web应用程序的构建,提供组件化的页面构建、输入验证、本地化、状态管理和URL映射等功能。Tapestry 5 强调易用性,不仅对终端用户友好,...

    tapestry官方中文文档及中文字典

    Tapestry 4 Quick Start(2)文档通常会引导读者快速入门,介绍如何搭建一个基本的Tapestry项目,包括环境配置、创建第一个页面、编写组件和处理用户交互等步骤。它可能会涵盖以下知识点: 1. **环境配置**:讲解如何...

    Tapestry简单入门.rar_java Tapestry_tapestry

    4. **编写第一个页面**:在Tapestry中,一个页面是由一个或多个组件组成的。你需要定义一个类来表示页面,并在HTML模板中声明组件。 接下来,我们转向"tapestry组件.docx",组件是Tapestry的核心组成部分,它们是可...

    Tapestry用户登录Demo(源代码+操作视频)

    这个“Tapestry用户登录Demo”是一个示例项目,旨在展示如何在Tapestry框架中实现用户登录功能。源代码和操作视频相结合,为开发者提供了直观的学习资源,帮助他们理解和掌握Tapestry中的身份验证和授权机制。 在...

    Tapestry4开发指南

    4) **定义页面**:页面是Tapestry4中的主要交互单元,它由一个或多个组件组成。在Java类中定义页面,然后在HTML模板中引用这些组件。 5) **配置URL映射**:Tapestry4通过元数据来处理URL到页面和组件的映射。在模块...

    Tapestry5最新中文教程

    Apache Tapestry 5 是一个基于Java的开源Web应用程序框架,其设计目标是提供一个面向组件的开发环境,简化Web应用的构建。这个框架的核心特点包括输入验证、本地化/国际化、状态管理和URL处理等,旨在提高用户体验和...

    Tapestry 4 官方文档中版本

    Tapestry 4 是一个基于Java的开源Web应用程序框架,由Apache软件基金会开发。这个框架在Web应用开发中提供了一种组件化和模板化的编程模型,使得开发者可以更高效地构建动态、交互式的Web页面。以下是对Tapestry 4...

    Tapestry5最新中文入门实例教程

    Tapestry是一个使用Java语言创建Web应用程序的面向组件的开发框架。本教程旨在通过实际案例帮助读者掌握Tapestry 5的基本概念和核心功能,并体验其带来的高效开发流程。 #### 二、Tapestry 5简介 Tapestry 5作为...

    Tapestry中的Table和Tree的完整教程

    1. **数据绑定**:Table组件需要一个数据源,通常是一个列表或集合,每个元素对应表格的一行。你可以通过`value`属性将数据源与组件绑定。 2. **列定义**:每列可以通过`columns`属性定义,每个列包含列头(标题)...

    tapestry教程资料文档合集

    Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 ...tapestry用户手册.pdf 很详细 ----------------------------- Tapestry重要资料.doc

    Tapestry通用WEB框架

    Tapestry是一个强大的Java Web应用程序框架,由Apache软件基金会维护。它旨在提高开发效率,提供高度模块化和可重用的组件,以及优秀的错误处理和调试能力。在深入探讨Tapestry的知识点之前,让我们先了解一下这个...

    tapestry学习入门资料

    Tapestry 是一个开源的基于 servlet 的应用程序框架,它使用组件对象模型来创建动态的、交互的 web 应用。 Tapestry 使得 Java 代码与 HTML 完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易...

    Tapestry4.1.2 入门-介绍

    Tapestry 是一个基于Java的Web应用程序框架,它提供了一种面向组件的开发方式,极大地简化了Web应用的构建过程。在Tapestry中,开发者无需关注HTTP请求的处理细节,如链接、请求流向和响应重定向等低级任务。相反,...

    tapestry4.02中封装ext的GridPanel组件

    在IT行业中,Web开发是一个重要的领域,而Tapestry和ExtJS是两个广泛使用的框架,它们各自在构建动态和交互式的Web应用上有着独特的优点。本文将深入探讨Tapestry 4.02版本中对ExtJS的GridPanel组件进行封装的相关...

    tapestry3开发指南,带tapestry3所有jar包

    Tapestry 3 是一个开源的Java Web应用程序框架,它在20世纪90年代末至21世纪初非常流行,由Apache软件基金会维护。这个框架提供了组件化、事件驱动和声明式编程模型,帮助开发者构建动态、交互式的Web应用。Tapestry...

    tapestry源码 api等

    Tapestry是一个强大的Java Web应用程序框架,由Apache软件基金会维护。它强调组件化、模块化和松耦合的开发方式,使得开发人员可以构建出高效、可维护的Web应用。以下是对Tapestry源码、API及相关库的详细解读: 1....

Global site tag (gtag.js) - Google Analytics