4.DBUserInfo.java如下:
package com.huawei.support.dao;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.huawei.it.common.encryption.exception.AppException;
import com.huawei.it.common.encryption.util.DESEncryptionFactory;
import com.huawei.it.common.encryption.util.DESEncryptor;
import com.huawei.support.exception.ApplicationException;
public class DBUserInfo
{
private static Log sLog = LogFactory.getLog(DBUserInfo.class);
private String mUserName;
private String mPassword;
public String getmUserName()
{
return mUserName;
}
public void setmUserName(String aUserName)
{
this.mUserName = aUserName;
}
public void setmPassword(String aPassword)
{
this.mPassword = aPassword;
}
public String getmPassword() throws ApplicationException
{
String pwd = null;
try
{
Context initCtx = new InitialContext();
if (initCtx == null)
{
throw new ApplicationException("Context初始化失败! ");
}
// 在JNDI中查找
Context ctx = (Context) initCtx.lookup("java:comp/env");
if (ctx != null)
{
DBUserInfo dbUserInfo = (DBUserInfo) ctx.lookup("dbUserInfo");
if (dbUserInfo != null)
{
// DES解密
pwd = decrypt(dbUserInfo.mPassword);
}
}
}
catch (NamingException e)
{
sLog.error(e);
// TODO:JUnit测试用,正式环境需要删除.
pwd = "tbz19078";
// throw new ApplicationException(e);
}
return pwd;
}
/** DES解密.
* @param aDataSource 加密过的密文
* @return 解密后的明文
* @throws ApplicationException ApplicationException
*/
private static String decrypt(String aDataSource)
throws ApplicationException
{
DESEncryptionFactory factory = null;
try
{
factory = DESEncryptionFactory.getInstance();
DESEncryptor encryptor =
factory.getEncryptor(DESEncryptionFactory.DES);
return encryptor.decrypt(aDataSource);
}
catch (AppException e)
{
sLog.error("DES解密出错!");
sLog.error(e);
throw new ApplicationException(e);
}
}
}
分享到:
相关推荐
### Tomcat中JNDI原理详解 #### 一、引言 Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的API。它为开发者提供了访问各种命名和目录服务(如DNS、LDAP等)的统一接口。在Tomcat...
TOMCAT8 JNDI对用户名和密码加密
#### 三、Tomcat6配置JNDI步骤 下面详细介绍在Tomcat6环境下配置JNDI的具体步骤: ##### 3.1 配置`context.xml` - 打开Tomcat安装目录下的`conf/context.xml`文件,在`<Context>`标签内添加数据源配置信息。 ```...
《深入理解Tomcat JNDI》 在Java应用服务器中,Tomcat是一个广泛使用的轻量级服务器,而JNDI(Java Naming and Directory Interface)则是Java平台中的一个核心API,用于提供命名和目录服务。本篇文章将深入探讨...
在Tomcat配置JNDI数据源的三种方式
Tomcat 配置 JNDI 数据源 Tomcat 是一个流行的 Java Web 服务器,JNDI(Java Naming and Directory Interface)是 Java 中的一种命名和目录接口规范。Tomcat 中的 JNDI 数据源是指将数据库连接信息注册到 JNDI ...
在Java应用服务器中,如Tomcat 6.0,JNDI(Java Naming and Directory Interface)数据源是一种标准的方法来管理数据库连接。JNDI允许应用程序通过一个全局名称查找资源,比如数据源,而无需硬编码数据库连接参数。...
Tomcat配置JNDI数据源的N种方法
在本文中,我们将深入探讨“Tomcat6配置JNDI出错”这一主题,这是一个常见的问题,很多开发者在搭建和配置Java企业级应用时可能会遇到。 JNDI,全称Java Naming and Directory Interface,是Java平台的一个标准接口...
eclipse+mysql+tomcat配置JNDI实现例子 博文链接:https://uuplace.iteye.com/blog/88878
【标题】:“Tomcat配置JNDI数据源” 【描述】:“在Tomcat服务器上配置JNDI数据源,特别是通过DBCP连接池的方式” 【标签】:“tomcat,配置,JNDI数据源” 【内容】:配置JNDI数据源在Java Web应用程序中是一个...
在这个场景中,“intellij idea使用tomcat开发时自动部署jndi数据源”是一个重要的知识点,它涉及到如何在IDE中配置和管理数据库连接,以便于在应用运行时动态地查找和使用数据源。 JNDI(Java Naming and ...
使用Tomcat通过JNDI方式连接SqlServer数据库 在本文中,我们将介绍如何使用Tomcat通过JNDI方式连接SqlServer数据库。JNDI(Java Naming and Directory Interface)是一种Java API,用于访问命名和目录服务。在...
【标题】:“Tomcat6.0配置JNDI” 在Java Web开发中,Tomcat作为常用的Servlet容器,经常被用于部署和运行Java EE应用程序。JNDI(Java Naming and Directory Interface)是Java平台的一项服务,它允许应用程序通过...
自定义jndi数据源factory类,用于解密jndi中的加密数据,解密方式为DES,具体可根据实际需求修改。
**Tomcat配置JNDI详解** Java Naming and Directory Interface (JNDI) 是Java平台提供的一种标准服务,用于管理和查找应用程序中的资源,如数据源、邮件服务器等。在Tomcat应用服务器中,JNDI被用来注册和查找数据...
数据源可以不用写java:comp了,直接写ID和WEBLOGIC一样 数据源可以不用写java:comp了,直接写ID和WEBLOGIC一样数据源可以不用写java:comp了,直接写ID和WEBLOGIC一样
本示例主要讲解如何在Tomcat6中结合JNDI(Java Naming and Directory Interface)和C3P0库来配置数据库连接池,这对于初学者理解Web应用服务器与数据库的交互方式具有很大帮助。 首先,C3P0是一个开源的JDBC连接池...
Tomcat JNDI 配置 Tomcat JNDI 配置是 Java Web 应用程序中的一种常见配置,用于将数据库连接信息以 JNDI(Java Naming and Directory Interface)的形式存储在 Tomcat 服务器中,以便于应用程序可以通过 JNDI 来...