King

business intelligence ,is my love。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在项目开发过程中,用户往往对系统的安全都有明确的要求,下面针对cognos门户认证用户密码如何加密来提供一个简单的wf

1Cognos权限认证方式:CJP

2Cognos用户数据库类型:Oracle

3用户密码加密方式:MD5

本文主要说一下大概的实现过程:

a:加密方式采用md5,可以用Java代码来写方法实现,也可以在数据库中写方法,本例子采用在DB服务端写function的方法来处理md5加密问题

(1):为了方便大家,附上md5加密方法源码

CREATE OR REPLACE FUNCTION MD5(
passwd IN VARCHAR2)
RETURN VARCHAR2
IS
retval varchar2(32);
v_pwd  varchar2(32);
BEGIN
       v_pwd:= NVL(passwd,'123456');
       
       retval := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => v_pwd)) ;
       
RETURN retval;
END;

(2)测试一下方法,对密码列处理之后,可以看出来所有的密码都已加密,用户登录的时候要靠记忆来登录了,可以给管理员提供重置密码的功能.

  ---md5方法示例

  

  ---加密所有密码

  

b:修改原来的验证包源码,主要是修改验证用户是否在CJP用户库存在的时候,先加密然后和用户库中的密码匹配

 经过上面的操作,用户在登录界面输入明文密码登录,比如123456,在认证的Java程序中就会对该明文先加密然后匹配

 匹配OK再连接Cognos服务器,分配相关的权限,这样就实现了数据库中用户信息的相对安全.接下来安心的登录吧少年.

 

ps:需要解释的地方是,在Cognos和第三方门户集成的时候,只要考虑门户登录验证之前先加密后验证即可,Cognos登录

加密验证交给之前我们配置的CJP加密验证程序即  可,门户处不需要再次进行对Cognos登陆的加密,只要有登录Cognos的操

作,请求就会被转发到CJP用户验证程序来处理用户登录Congo服务器的操作.

  

posted on 2014-10-29 17:19  kingstudy  阅读(2086)  评论(0编辑  收藏  举报