NT身份验证登录

NT身份验证登录

NT authentication login

我在一个用户可以登录以获取更多私人信息的网站上工作。
我的客户在另一个站点上使用nt身份验证来访问它。

他们想要做的是在私有区域下的我正在工作的站点上有一个button,它将把它们发送到nt身份验证的站点,但不要求他们登录到该站点,而是传递他们的用户名和密码。 曾经为他们登录我的网站到另一个网站。

是否有可能做到这一点? 我将如何实现? 有一个更好的方法吗?


这是一个(未经实验的)理论,其细节在很大程度上取决于Sharepoint网站将接受哪种身份验证类型。我将处理Basic,因为这是最简单的。

您将编写一些使用XMLHttpRequest的JavaScript来向Sharepoint站点提交请求,并将其用户名和密码添加到请求标头中。他们的浏览器将运行该JavaScript,并登录到Sharepoint网站。

现在,当他们单击链接时,客户端的浏览器应该具有缓存的凭据才能发送到Sharepoint站点。

可能的问题:

  • XMLHttpRequest不允许跨域身份验证
  • 浏览器和XHR不共享身份验证信息
  • Sharepoint和XHR不能就身份验证方法达成共识

另一个选择是代理与Sharepoint的连接,这使您可以登录服务器端(绕过XHR限制和浏览器安全性)-但需要在服务器上加载负载,并且可能会遇到一些URL目标问题。


如果没有NTLM挑战,您的用户将无法直接连接到NTLM站点。我会写一些可以有效替代NTLM站点的内容;即您的服务器端代码将具有连接到NTLM站点的凭据,并通过用户的请求进行传递。

正如您所提到的,SharePoint(请注意)要记住,SharePoint有许多Web服务可用于此目的(而不是进行屏幕抓取)。


这是Intranet环境吗?如果是这样的话,他们无论如何都不必登录。如果使用"集成身份验证"设置了sharepoint,并且该站点在IE中被列为受信任站点,则浏览器将使用该站点的网络凭据进行自动登录。也可以在firefox上设置。


如果您需要通过第二个站点进行身份验证,则可能需要产生一个新线程并调用Windows LogonUser API。获得安全令牌后,将其分配给新线程并通过该线程进行连接。

LogonUser需要增强的特权,并且不是托管代码,因此使用它会遇到一些严重的问题。但这是我能够找到让经过Forms身份验证的站点与Windows Authenticated Service / Site通信的唯一解决方法。

希望这可以帮助。


另一个站点将如何验证您的用户名和密码?

理想情况下,您的站点甚至不应该记住用户的密码才能将其传递到另一个站点(您存储密码的哈希,而不存储密码本身,并且仅在验证期间使用实际密码)。

如果您的站点向用户提供了令牌,该用户将令牌提供给新站点,又又要求您的站点验证令牌,该怎么办。基本上,第二个站点是信任您告诉他们用户的身份。

如果第二个站点实际上仅将Windows帐户用于获取用户名(例如,对基础文件的权限)以外的其他用途,则所有操作都将失败,因为在这种情况下,该用户没有以实际的Windows用户帐户身份登录。


推荐阅读

    linux访问网站的命令?

    linux访问网站的命令?,地址,系统,服务,工作,网站,命令,网络,管理,信息,网址,L

    linux远程登录命令?

    linux远程登录命令?,软件,地址,系统,服务,名称,网站,数字,网络,电脑,密码,如

    linux免密钥登录命令?

    linux免密钥登录命令?,密码,数据,流程,服务,标准,网络,网上,认证,证书,代码,L

    linux登录命令界面?

    linux登录命令界面?,系统,密码,终端,工具,首页,环境,数字,状态,信息,界面,lin

    linux登录改密码命令?

    linux登录改密码命令?,密码,系统,名称,软件,状态,服务,信息,策略,环境,命令,

    登录账户命令linux?

    登录账户命令linux?,系统,管理,信息,工作,工具,名称,服务,网络,密码,命令,lin

    ssh命令登录linux?

    ssh命令登录linux?,服务,系统,地址,软件,状态,网络,命令,计算机,终端,服务器

    db2登录命令linux?

    db2登录命令linux?,环境,服务,系统,管理,工作,网站,软件,一致,平台,信息,linu

    linux根用户登录命令?

    linux根用户登录命令?,系统,密码,软件,状态,地址,合法,电脑,位置,检测,工具,L

    linux命令行登陆网站?

    linux命令行登陆网站?,网站,系统,密码,服务,地址,环境,网络,软件,状态,项目,

    关闭linux客户机命令?

    关闭linux客户机命令?,系统,工作,命令,状态,时间,用户,目的,客户机,方式,方

    linux客户访问命令?

    linux客户访问命令?,网络,系统,地址,服务,管理,信息,数字,基础,密码,命令,Lin

    linux看登录密码命令?

    linux看登录密码命令?,密码,系统,信息,地址,命令,用户,位置,设计,电脑,用户

    linux登陆网站命令?

    linux登陆网站命令?,网络,工具,网站,标准,地址,软件,系统,命令,数据,环境,lin

    金仓linux命令登录?

    金仓linux命令登录?,系统,服务,地址,密码,工作,名称,工具,网络,信息,命令,远

    linux命令打开网站?

    linux命令打开网站?,网络,网站,系统,地址,密码,传播,工具,代码,环境,命令,大

    linux命令行登录邮箱?

    linux命令行登录邮箱?,地址,代码,邮箱,工作,系统,标准,情况,单位,检测,数据,l

    linux域名登录命令?

    linux域名登录命令?,地址,系统,服务,名称,信息,软件,环境,网站,工具,通信,lin

    安卓linux命令客户端?

    安卓linux命令客户端?,系统,软件,名字,设备,互动,服务,工具,基础,发展,代码,a

    安装客户端linux命令?

    安装客户端linux命令?,软件,中心,在线,发行,全国,公司,工作,国家,信息,命令,