起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 179|回复: 9

【结贴】如何在X3系统外校验X3系统组织机构中的合法用户?**

[复制链接]
发表于 2007-10-29 14:37:51 | 显示全部楼层 |阅读模式
使用delphi新开发一个小程序,需要验证是不是X3系统中组织机构的合法用户,
使用:SELECT FVALUE FROM TORGATTRIBUTE WHERE FGUID IN(SELECT FGUID FROM TORGSYSTEM WHERE FID = 'XXX' AND FKIND = '.PSN') AND FID = 'PASSWORD'
取出的密码是加密的,而系统提供的修改密码的方法都是封装好的,现在我们需要在X3系统外校验X3系统组织机构中的合法用户如何获取操作?
回复

使用道具 举报

发表于 2007-10-29 17:25:04 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-30 15:11:11 | 显示全部楼层
过程中调用接口IsValidPassword时报错如下:

error.jpg

58.45 KB, 下载次数: 112

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-30 15:15:36 | 显示全部楼层
缺少oleaut32.dll引起的,这个能不能在你们的libPassChk.dll中处理掉?
回复 支持 反对

使用道具 举报

发表于 2007-10-30 16:22:59 | 显示全部楼层
楼主,这个是系统文件,你自己拷贝、注册一个就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-30 16:55:53 | 显示全部楼层
你们用的oleaut32.dll的版本是多少?
我这里的是 5.1.2600.2180,存在错误。

error.jpg

6.47 KB, 下载次数: 104

回复 支持 反对

使用道具 举报

发表于 2007-10-30 17:31:18 | 显示全部楼层
我这里是好的啊

function IsValidPassword(APass: WideString; APassEncoded: WideString): Boolean; stdcall; external 'libPassChk.dll';

procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsValidPassword(Edit1.Text, Edit2.Text) then
    showmessage('ok')
  else
    showmessage('not ok');
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-30 17:39:51 | 显示全部楼层
修改了系统数据保护策略,同时也把接口的调用方式按alang的做法调整过了,已经OK了。
回复 支持 反对

使用道具 举报

发表于 2007-11-13 15:47:52 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2007-11-13 16:33:20 | 显示全部楼层
封装成com对象

checkpass.rar

606.43 KB, 下载次数: 66

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-30 06:21 , Processed in 0.042312 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表