表user{
userid
password1
password2
}
需求:一个账号对应2种密码,如果以userid+password1登录 进入到A页面  
如果以userid +password2登录 进入到B页面。
存在表中的密码都是经过加密了。也就是说登录的时候必须获将登录的密码加密了去User表中对比查询
加密函数为
select encrypt('1234') from dual
解密函数为:
select dencrypt('AKSD12423523
') from dual假设用户输入zhangsan 密码123455登录,检查密码
   1) select encrypt('123455') from dual 获取到一个值A
   2) 将该值A和 User表中账号为zhangsan的行中的二个加密密码比较
   3) 可以得出跳转方向是A 还是B
不考虑action和Modele层
在Dao实现的时候
public user login(String username,String password){
..
sql =这里拼串不知道怎么写
...
}
----
可有会的

解决方案 »

  1.   

    create or replace procedure sss(name in varchar2,password in varchar2,page varchar2 out) as
     pagea int;
     pageb int;
     sql1 varchar2(200);
     sql2 varchar2(200);
    begin
       sql1='select count(*) from user whree userid='||name ||'and password1='||password;
    EXECUTE IMMEDIATE sql1 INTO pagea;
      if(pagea>0)
       begin
          page = "A"
       end;
     sql2='select count(*) from user whree userid='||name||' and password2='||password;
    EXECUTE IMMEDIATE sql2 INTO pageb;if(pageb>0)
       begin
          page= "B"
       end;
        page= "C"
    end;
      

  2.   

    没看明白你想干什么?你直接根据userid查询出该用户的2个password然后将前台传过来的密码加密后 和查询出的2个password比较然后根据比较的结果返回到不同的页面