delphi – 针对工作组服务器检查用户凭据

delphi – 针对工作组服务器检查用户凭据,第1张

概述我的应用程序将在客户端台式计算机上的LAN上使用.在此LAN中,有一个专用的 Windows 2k服务器.没有AD. 用户必须填写服务器的用户帐户信息,以便应用程序可以使用此帐户执行一些远程 *** 作(映射网络驱动器) 如何检查此服务器的用户凭据? 映射驱动程序时,如果用户帐户身份验证不正常,我将收到错误,但我想在尝试映射之前获取此信息. 像LogonUser API函数,但在远程计算机上工作. 谢谢, 我的应用程序将在客户端台式计算机上的LAN上使用.在此LAN中,有一个专用的 Windows 2k服务器.没有AD.

用户必须填写服务器的用户帐户信息,以便应用程序可以使用此帐户执行一些远程 *** 作(映射网络驱动器)

如何检查此服务器的用户凭据?

映射驱动程序时,如果用户帐户身份验证不正常,我将收到错误,但我想在尝试映射之前获取此信息.

像logonUser API函数,但在远程计算机上工作.

谢谢,

解决方法 您可以将 WNetUseConnection函数与CONNECT_INteraCTIVE和CONNECT_PROMPT标志一起使用.这将与空的用户ID和密码参数结合使用,在您输入正确的凭据时调用凭据对话框并连接到网络资源:

procedure TForm1.button1Click(Sender: TObject);var  BufferSize: DWORD;  ResultFlag: DWORD;  NetResource: TNetResource;begin  NetResource.DWType := RESOURCETYPE_disK;  NetResource.lpLocalname := nil;  NetResource.lpRemotename := '\MySuperSecret\Place';  NetResource.lpProvIDer := nil;  if WNetUseConnection(Handle,NetResource,nil,CONNECT_INteraCTIVE or    CONNECT_PROMPT,BufferSize,ResultFlag) = NO_ERROR  then    ShowMessage('Connected!');end;

要在不提示输入凭据的情况下连接到网络资源,请删除上面指定的标志,如下所示,在连接成功时应返回True,在失败时返回False.这是参数说明:

> Remotename(字符串) – 远程网络名称
> Username(字符串) – 用于连接网络资源的用户名
>密码(字符串) – 用于连接网络资源的密码

function TryConnect(const Remotename,Username,Password: string): Boolean;var  BufferSize: DWORD;  ResultFlag: DWORD;  NetResource: TNetResource;begin  NetResource.DWType := RESOURCETYPE_disK;  NetResource.lpLocalname := nil;  NetResource.lpRemotename := PChar(Remotename);  NetResource.lpProvIDer := nil;  Result := WNetUseConnection(0,PChar(Username),PChar(Password),ResultFlag) = NO_ERROR;end;
总结

以上是内存溢出为你收集整理的delphi – 针对工作组服务器检查用户凭据全部内容,希望文章能够帮你解决delphi – 针对工作组服务器检查用户凭据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1256379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存