从c#网页(包括IIS)获取当前登录的Active Directory用户
本文关键字:登录 Active 用户 Directory 获取 网页 包括 IIS | 更新日期: 2023-09-27 18:03:08
我们正在为客户端建立一个内部网,客户端不希望用户登录,因为他们已经登录到域(活动目录)
但是他们确实想知道每个用户的AD用户名,这样如果他们在博客上发帖,他们的身份就可以被记录下来。
到目前为止,我们的想法是,我们的网络。配置文件应该写:
<identity impersonate="false" />
以便每个用户以自己而不是IIS中配置的App Pool用户的身份浏览内网站点。
这是正确的做法吗?
如果是,我们应该使用什么IIS身份验证?注意:我们没有对用户进行身份验证,所以我们不想要登录提示,所有用户都已经登录到域,我们只想看到他们的用户名。
这可能吗?我们在正确的轨道上吗?
在c#中,我们可以这样检索用户名:System.Web.HttpContext.Current.Request.LogonUserIdentity.Name.ToString()
但是我们找不到一个不提示域/网络登录的IIS身份验证设置
您需要打开windows身份验证。这样做之后,我记得身份令牌将传递给服务器,您可以用它来管理身份验证。另外请注意,只有Chrome和IE完全支持这个功能,Firefox在验证用户身份之前至少会要求用户按下ok按钮。另一件要注意的事情是在浏览器中正确设置信任级别,否则它不会进行自动身份验证。
您已经知道如何获得LogonUserIdentity并正确设置IIS。缺少的是让浏览器自动使用用户的AD帐户进行身份验证。要启用该功能,您必须配置浏览器,我认为默认情况下只有Intranet区域站点启用了该功能。