如何使用Windows身份validation在中间层对用户进行身份validation

如何使用Windows身份validation在中间层对用户进行身份validation,第1张

概述如何使用Windows身份validation在中间层用户进行身份validation

我们有一个使用RemObjects DataAbstract / SDK编写的Delphi服务器。 我们希望使用windows身份valIDation来valIDation用户,以允许他们访问我们的服务器。

目前我们做了以下工作:

1)客户端应用程序将windows用户名和密码以明文forms发送到服务器。 2)服务器使用以下函数检查证书:

function ValIDateUserlogonAPI(const Username: string; const Domain: string; const PassWord: string) : boolean; var Retvar: boolean; LHandle: THandle; begin Retvar := logonUser(PWIDeChar(Username),PWIDeChar(Domain),PWIDeChar(PassWord),logoN32_logoN_NETWORK,logoN32_PROVIDER_DEFAulT,LHandle); if Retvar then CloseHandle(LHandle); Result := Retvar; end;

当然,这种方法的缺点是用户凭证以明文forms通过networking传递。 我们可以对它们进行encryption,但encryption/解密密钥必须在应用程序内运输。

挂钩到linux身份valIDation运行脚本或程序时,满足一定的条件

除了本地networking上的Nginxauthentication

基本身份valIDation和智威汤逊

如何使用node.Js保护单个页面应用程序中的静态文件

使用windowslogin的Intranet网站身份valIDation

我相信,要实现我们的目标肯定有更好的办法。 我已经读了一些关于令牌的内容,但是不太明白在这种情况下他们将如何工作。

请注意,她的解决scheme必须同时适用于Delphi windows客户端和Delphi Prism ASP.NET客户端。

谢谢你提供的所有帮助。

Apache httpClIEnt 4.x上传大文件时performance奇怪?

WSMan和基本授权

Nginx:是否有可能从auth_request中获得响应

如何根据windows AD对用户进行身份valIDation?

从Java的Exchange Web服务身份valIDation

这是DataAbstract自己应该处理的事情,如果它不是Datasnap的一半支持的库:)对于远程处理来说,验证/授权端点和保护数据交换是非常重要的。

基本上,您不得不发送用户凭证,而是交换客户端和服务器都知道如何进行身份验证的“令牌”。 完整的解释可能很复杂。 你可以从MSDN开始(查找AcceptSecurityContext()和InitializeSecurityContext())。 一个可能的问题是,如果DataAbastract具有适当的挂钩来执行认证阶段,这可能需要多次往返。

作为一种权宜之计,您可以启用IPSec来保护通信渠道,不要让整个用户帐户轻易被“嗅探”。

总结

以上是内存溢出为你收集整理的如何使用Windows身份validation在中间层对用户进行身份validation全部内容,希望文章能够帮你解决如何使用Windows身份validation在中间层对用户进行身份validation所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存