问题描述
是否可以通过JavaScript获取MS Edge中当前登录的Microsoft用户的凭据(主要是名称和/或电子邮件)?
在较旧的IE版本中,有ActiveXObject
函数,它可以让我解决这样的问题,但是此方法已过时并且在Edge中不起作用:
var WinNetwork = new ActiveXObject("WScript.Network");
console.log(WinNetwork.UserName);
对我来说,另一种可能的选择是仅获取Windows用户,但我认为这在JS中是不可能的,因为它仅限于浏览器,还是我错了?
解决方法
由于这是针对ASP.NET应用程序的,因此我根据下面要链接的其他几篇文章,使用Windows身份验证设法实现了我想要的目标(也就是获得Windows用户名),希望这对任何面临类似的问题:
- https://forums.asp.net/t/2044520.aspx?Add+Windows+Authentication+to+Mvc+5+project
- How do I get the currently loggedin Windows account from an ASP.NET page?
- https://forums.asp.net/t/1598421.aspx?Getting+windows+username+using+windows+authentication
在其他Stack Overflow问题中也有很多答案,但这主要是我使用的(注意:花了我很多时间的一件事是Visual Studio并未更新项目属性以使其也可用于Windows身份验证,所以一定要检查一下)