在使用websnap技术时如何通过后端的数据库使用websnap提供的3个控件进行身份验证呢?

84175971 2003-12-11 01:37:20
在使用websnap技术时如何通过后端的数据库使用websnap提供的3个控件进行身份验证呢?
...全文
浏览 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zosky 2003-12-15
procedure Thome.WebUserListBeforeValidateUser(Strings: TStrings;
var UserID: Variant; var Handled: Boolean);
var UserItem:TWebUserItem;
k:integer;
begin
wdm.ADOSp.Close;
wdm.ADOSp.Parameters.Clear;
wdm.ADOSp.ProcedureName := 'userverify';
wdm.ADOSp.Parameters.CreateParameter('username', ftString, pdInput, 8, strings.Values['username']);
wdm.ADOSp.Parameters.CreateParameter('userpwd', ftString, pdInput, 10, strings.Values['password']);
wdm.ADOSp.OPEN;
k:=wdm.ADOSp.RecordCount;
{wdm.adq.sql.close;
wdm.adq.sql.clear;
wdm.adq.sql.add('select username,usercat,userpassword,City');
wdm.adq.sql.add(' from usertbl ');
wdm.adq.sql.add('where username='+#39+strings.Values['username']+#39);
wdm.adq.sql.add('and userpassword='+#39+strings.Values['password']+#39);
wdm.adq.sql.add('insert usertbl (userphone) valuse ('+#39+sqlstr+#39+')');
wdm.adq.sql.add(sqlstr);
wdm.adq.sql.add('insert usertbl (userphone) values ('+#39+sqlstr+#39+')');
wdm.ADQ.open; }
if k>0 then
begin
userid:=strings.Values['username'];
userItem:=webUserList.UserItems.add as TWebUserItem;
UserItem.UserName:=strings.Values['username'];
UserItem.Password:=strings.Values['password'];
UserItem.AccessRights:=wdm.ADOSp.FieldValues['usercat'];
Session.Values['name']:=wdm.ADOSp.FieldValues['username'];
Session.Values['city']:=wdm.ADOSp.FieldValues['City'];
handled:=true;
end
else handled:=false;
end;
回复
hiflower 2003-12-15
如果不这样做,则要你自己来处理身份验证。
有几个事件的,如 BeforeValidateUserName,BeforeValidatePassword,OnLogin 等,自己查一下.
回复
hiflower 2003-12-15
TWebUserList 中添加用户、口令、权限
回复
84175971 2003-12-15
在远程数据库中有几百条这样的用户,难道要一条条读取然后在加入TWebUserList吗。
能否做道到某个人访问就加某个人,
还是有很多不解之处。
回复
84175971 2003-12-14
up
回复
84175971 2003-12-12
没有人知道吗?
回复
发动态
发帖子
网络通信/分布式开发
创建于2007-08-02

1566

社区成员

Delphi 网络通信/分布式开发
申请成为版主
社区公告
暂无公告