2015-11-01 93 views
1

考虑到以下情况:Active Directory - 使用Web应用程序中的当前登录用户,可能吗?

1)用户在具有活动目录域的windows桌面计算机上进行登录。

2)登录后,用户将自动打开需要使用当前登录/活动目录的会话/令牌登录Web应用程序的Web浏览器和类型以及URL。

例如: 登录活动目录后,用户打开url http://intranet.myplace.com,打开的第一页需要检测AD当前登录用户的凭证。

有可能吗? 我无法找到关于从JavaScript获取AD凭证的信息。

+0

你在说Kerberos吗? – Marged

+0

nope ...我需要通过当前登录的Windows用户自动登录webapp – Leonardo

+0

这是_is_ Kerberos的功能,但它不适用于唯一的JavaScript方法。我认为_nothing_无效或没有服务器端方法是安全的 – Marged

回答

1

不,这是不可能的,只有客户端方法。无论使用JavaScript还是ActiveX:您都需要服务器端的东西。除此之外,ActiveX将限制您访问某些浏览器,这可以在公司环境中正常运行,我认为您处于此状态。

JavaScript无法查询客户端的登录上下文。即使它是你应该在服务器上验证这一点。

要实现您所描述的内容,您需要使用Kerberos或IIS或Apache提供的基于挑战响应的技术。 如果你想要一个安全的方法找到能够配置服务器的人。

1

是的,这是可能的。它被称为单点登录(SSO)。如果你使用.NET,你可以使用下面的代码。

string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; 

您必须在服务器端执行此操作。

+0

您好,感谢您的回复。 但是,情况并非如此......我无法使用任何服务器端工具或任何activeX。只是JavaScript。 – Leonardo

+0

你不能单独在客户端进行身份验证,JavaScript可以很容易地由客户端修改,因此是不安全的。 @Leonardo – toskv

+0

是的。 @toskv是正确的。 JS不建议进行身份验证。 –

相关问题