我工作上的一个网站,用户可以登录,以获得更多的私人信息。我的客户已经另一个的网站的其他地方使用 nt身份验证 访问。

什么他们要做的就是有一个 button 在网站上我正在在私人领域,将他们送到 nt身份验证 站,但是不需要他们登录该网站,而不是通过 用户名密码 他们使用登录到我的网站的其他网站。

它是可能做到这一点?和我将如何完成它?有没有更好的方式做到这一点?

有帮助吗?

解决方案

这里有一个(未经测试)的理论,其细节将在很大程度上取决于什么类型的认证Sharepoint网站将接受。我会解决的 基本的, ,因为这是最简单的。

你会写出一些JavaScript使用的程序提交的请求Sharepoint网站,并增加他们的用户名和密码的要求头。他们的浏览器上运行,JavaScript,并获得已登录到的Sharepoint网站。

现在,当他们点击的链接时,客户的浏览器应该有所缓存证书发送给Sharepoint网站。

可能问题:

  • 程序不允许交叉领域的授权
  • 浏览器,把不同的身份验证的信息
  • Sharepoint和把不能商定认证方法

另一个选择是代理的连接到Sharepoint,它可以让你登录服务器方(绕过把浏览器的限制和安全),但需要加载服务器上,可能还有一些URL目标的问题。

其他提示

如何将其他网站的验证你的用户名和密码?

理想的是你的网站,甚至不应该被记住的用户密码,才能传递到另一个网站(存储哈希的密码,没有密码本身,而只有使用实际上是密码在验证)。

什么如果你的网站提供一个标记的用户,提出了标记的新网站,这反过来要求您站的验证标记。基本上第二网站是信任你,告诉他们谁的用户。

这所有打破了如果第二个站点实际上是使用Windows账户的任何其他不仅仅是获取用户的名称(例如权限的基础文件),因为用户不会记录上作为实际Windows用户账户,在这种情况。

如果需要进行身份验证的第二网站,可能需要产生一个新的螺纹和调用windows LogonUser API。一旦您的安全标记,将其分配到新的线和做你的连接,通过这线。

LogonUser需要增强特权、和不受管码,所以有一些非常严重的打嗝要使用它。但这是唯一的工作围绕我已经能够找到获得一个形式认证的网站跟一个窗户身份验证服务/网站。

希望这会有所帮助。

这是一个内联网的环境?如果是这样,他们不应该登录反正。如果sharepoint是使用"综合认证",并将网站列为一个可信的站在即,浏览器将使用有网络信誉自动登录。这可以安装在 firefox 为好。

你的用户将没有能够连接到NTLM网站直接获取NTLM的挑战。我会写什么会有效的代理NTLM网站;i。电子服务器的端代码将有凭据连接到NTLM网站,并通过要求从用户。

你说这是SharePoint()铭记,SharePoint有一堆网的服务可以使用这个(而不是做屏幕上-刮)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top