WEB开发网
开发学院软件开发Java 用 Apache Geronimo 和 Axis2 实现在线银行,第 2... 阅读

用 Apache Geronimo 和 Axis2 实现在线银行,第 2 部分: 服务:填充内容(上)

 2010-03-19 00:00:00 来源:WEB开发网   
核心提示: 首先从传入的 SOAP 文档中检索 username 和 password,随后查询数据库,用 Apache Geronimo 和 Axis2 实现在线银行,第 2 部分: 服务:填充内容(上)(9),返回与传入的 username 和 password 匹配的用户名和密码,如果返回一条记录,注

首先从传入的 SOAP 文档中检索 username 和 password。随后查询数据库,返回与传入的 username 和 password 匹配的用户名和密码。如果返回一条记录,且此记录由返回 true 的 result.next() 定义,则登录有效,这是通过传出的 SOAP 文档以及 res2.setValid(valid) 调用传递的。还会生成随机二进制 byte[] token,且被添加到您在 清单 6 中所定义的 usernameToValidToken HashMap 内,其有效用户名作为关键字,而令牌是在传出的 SOAP 文档中定义的。接下来定义 generateToken 方法。

生成令牌

除首先验证凭证的登录操作之外,所有的操作都需要令牌。定义 generateToken 方法,如 清单 8 所示。

清单 8. 生成随机令牌

  public static byte[] generateToken(){ 
    int high = 80; 
    int low = 50; 
    int bottom = 0; 
    int top = low + (int)(Math.random()*(double)(high - low)); 
 
    byte randomVal; 
    byte token[] = new byte[top]; 
    for(; bottom < top; bottom++){ 
      randomVal = (byte)(Math.random() * (double)255); 
      token[bottom] = randomVal; 
    } 
    return token; 
  } 

此方法生成长度为 50 到 80 的随机二进制令牌,各字节获得一个 0 到 255 —— 也就是一个字节可采用的最大值 —— 之间的随机值。下面看看如何从系统中注销。

注销

注销会破坏在线银行 Web 服务与用户之间的会话。更新 Logout 操作,如 清单 9 所示。

上一页  4 5 6 7 8 9 10  下一页

Tags:Apache Geronimo Axis

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接