javascript - 通过 JavaScript 在我的网站中获取当前 windows 用户的 userID
问题描述
我在即将到来的 Web 项目中有一个功能,我必须获取当前登录到机器/PC 的用户的用户 ID/电子邮件 ID。目标操作系统是 Windows 10,只能通过智能卡登录机器。用户数据存储在 MS-AD 中。
此用户 ID 将进一步用于授权并在浏览器中加载应用程序。目标浏览器是 IE 和 Chrome。
有没有办法可以将通过智能卡登录的用户的电子邮件 ID/用户 ID 获取到 Javascript 系统?
附加信息:该网站是在私人环境中设置的。没有从 Intranet 外部访问 webapp 的公共 URL。客户端和后端代码托管在云中的 VM 内。简而言之,它们都位于 Azure 的私有环境中。
谢谢!
解决方案
不使用 JavaScript。JavaScript 在浏览器容器中运行,更具体地说,在您当前的 webview 中运行。如果网络钓鱼、恶意软件和病毒站点,让 JavaScript 访问本地计算机上的设置和数据将是一场噩梦。
如果您知道哪些计算机将运行您的网站,您可以创建一个应用程序,其中的服务器在计算机上处于空闲状态,就像 Spotify 的客户端所做的那样(Windows 客户端可以从网页获取命令)。
然后应用程序/服务器可以尝试从计算机获取 EmailID/UserID,然后让服务器在某个特定端口上运行,然后您的 JavaScript 可以使用 AJAX 请求从浏览器与本地计算机通信。
推荐阅读
- c++ - 没有外部库的链接错误“LNK2019:未解析的外部符号”
- python - 熊猫在条件下增加计数器
- css - 如何防止导航栏进入移动设备上的元素?
- google-cloud-platform - GCP中手动创建的ServiceAccount属于Project吗?资源?
- python - 在 Python DataFrame 中将字符串转换为 float64
- grafana - 当我选择 1M 的间隔时,如何让我的 Grafana 图表从月初开始?
- spring-boot - 如何使用单个实体或单个存储库设计两个不同的项目?
- c# - 由于 commandTimeout 不够健壮,如何使用 Dapper 在 C# 中对阻塞/缓慢的数据库操作获得可靠的超时?
- javascript - 如何删除地图 Immutable.js 中的嵌套元素
- python - 在 Datetime 索引上组合 DataFrame,如果索引相同,则将其他行中的值相加