关于验证用户名和密码的问题 50分

ekinsoft 2005-07-01 06:11:04
客户端如何通过TCP向服务器提交用户名和密码?
我用的IDNY TCPSERVER 和 TCPCLIENT组件

...全文
122 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovend 2005-07-02
  • 打赏
  • 举报
回复
帮你顶
ekinsoft 2005-07-02
  • 打赏
  • 举报
回复
这位兄弟没明白我的意思。
我并不是说在服务器上怎么验证。
我的意思是怎么通过TCP控件同时发送用户名和密码。最好还是有用MD5加密后的密码。
hugoon 2005-07-02
  • 打赏
  • 举报
回复
我的实现方法是:
procedure TFLogin.Button1Click(Sender: TObject);
var
temp,temp1:String;
flag : integer; //用于判断是否通过认证的标志
begin

if ((UserId.Text = '') or (UserKey.Text = '')) then
begin
Application.MessageBox('请输入员工号和密码!','温馨提示:',MB_OK);
end
else
begin
flag := 0; //全局标志变量
ADOQuery1.Close;
ADOQuery1.SQL.clear;
ADOQuery1.SQL.Add('select * from person');
ADOQuery1.open;
while not ADOQuery1.eof do
begin
temp := ADOQuery1.FieldByName('id').asstring;
temp := trim(temp);
if temp=UserID.Text then
begin
temp1:=trim(ADOQuery1.FieldByName('passwd').AsString);
if temp1=UserKey.Text then
begin
FMain.login:=True ;
FMain.UserId := StrToInt(UserId.Text); //获取登陆名
FMain.Authority := ADOQuery1.FieldByName('authority').AsInteger; //获取权限
FLogin.Close;
flag := 1;
exit; //正确则退出登陆窗口
end //判断密码是否正确结束
else
begin
ADOQuery1.Next; //如果错误,则转到下一个数据集比较
end
end //判断用户ID和密码是否正确结束
else
begin
ADOQuery1.Next; //转到下一个数据集比较
flag := 0;
end
end; //循环结束

//判断是否密码错误,显示错误提示
if flag =0 then
begin
Application.MessageBox('用户名或密码错误!','温馨提示:',MB_OK);
FMain.UserId := 0 ;
FLogin.Close;
end

end;

希望能给带来点灵感。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧