|
|
登录口令加密函数、用户登录主Form实现方法和具体代码 |
|
|
作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站 |
create函数PWD: create FUNCTION PWD(sdpassword varchar2) RETURN varchar2 IS len number; szpwd varchar2(20); BEGIN
len:=length(sdpassword); for i in 1..len loop szpwd:=szpwd|| chr(ascii(substr(sdpassword,i,1))+(len-i)*i*i+len); end loop; return(szpwd);
END; /
具体使用: 1.在Block中加一Trriggers:Key-Others,代码:null; 防止用户用Shift + F7非法进入。 2.在OK确定Button加一When-Button-Pressed,代码: DECLARE szpwd VARCHAR2 (20); --密码 szjmpwd VARCHAR2 (20); --加密码 szjs VARCHAR2 (10) := '4'; --角色 BEGIN SELECT PASSWORD, js INTO szpwd, szjs FROM prid01 --权限管理中的用户登记表 WHERE userid = :login.userid;
szjmpwd := pwd (NVL (:login.PASSWORD, '@'));
IF szpwd = szjmpwd THEN :GLOBAL.userid := :login.userid; :GLOBAL.username := :login.username; :GLOBAL.js := szjs; :GLOBAL.PASSWORD := :login.PASSWORD; :GLOBAL.nls_lang := :login.nls_language; --init_menu; --初始化菜单权限 --init_nav; --初始化工具条上的ERP流程图权限 --init_nav_hr; --初始化工具条上的人力资源模块流程图权限 GO_BLOCK ('MAIN'); --SET_ITEM_PROPERTY('NO_DISPLAY_NEXT_TIME',VISIBLE,PROPERTY_TRUE); --SET_ITEM_PROPERTY('NO_DISPLAY_NEXT_TIME',ENABLED,PROPERTY_TRUE); --EXECUTE_TRIGGER('HINT'); --执行每日一帖小程序 ELSE messagebox.messagebox (nls_error (nls_lang, '00004')); --这是我自做的多语言messagebox,你们可用你们的 GO_ITEM ('LOGIN.password'); END IF; EXCEPTION WHEN NO_DATA_FOUND THEN messagebox.messagebox (nls_error (nls_lang, '00007')); --这是我自做的多语言messagebox,你们可用你们的 GO_ITEM ('LOGIN.userid'); WHEN OTHERS THEN messagebox.messagebox (SQLERRM); END;

|
|
相关文章:相关软件: |
|