首页 > 解决方案 > 通过 JavaScript 在我的网站中获取当前 windows 用户的 userID

问题描述

我在即将到来的 Web 项目中有一个功能,我必须获取当前登录到机器/PC 的用户的用户 ID/电子邮件 ID。目标操作系统是 Windows 10,只能通过智能卡登录机器。用户数据存储在 MS-AD 中。

此用户 ID 将进一步用于授权并在浏览器中加载应用程序。目标浏览器是 IE 和 Chrome。

有没有办法可以将通过智能卡登录的用户的电子邮件 ID/用户 ID 获取到 Javascript 系统?

附加信息:该网站是在私人环境中设置的。没有从 Intranet 外部访问 webapp 的公共 URL。客户端和后端代码托管在云中的 VM 内。简而言之,它们都位于 Azure 的私有环境中。

谢谢!

标签: javascriptactive-directorywindows-authenticationsmartcard

解决方案


不使用 JavaScript。JavaScript 在浏览器容器中运行,更具体地说,在您当前的 webview 中运行。如果网络钓鱼、恶意软件和病毒站点,让 JavaScript 访问本地计算机上的设置和数据将是一场噩梦。

如果您知道哪些计算机将运行您的网站,您可以创建一个应用程序,其中的服务器在计算机上处​​于空闲状态,就像 Spotify 的客户端所做的那样(Windows 客户端可以从网页获取命令)。

然后应用程序/服务器可以尝试从计算机获取 EmailID/UserID,然后让服务器在某个特定端口上运行,然后您的 JavaScript 可以使用 AJAX 请求从浏览器与本地计算机通信。


推荐阅读