繁体   English   中英

我无法在IIS网站上使用Windows身份验证

[英]I can't get windows authentication to work on IIS website

背景

我正在为公司的Intranet(“ citrix访问”)创建一个“初始”页面,其中的一项要求是,欢迎消息是针对查看该消息的用户而个性化的,因此显示为“欢迎弗雷德·琼斯”。 这意味着我必须发出一个活动目录请求。 我要针对活动目录运行此人的登录名(Domain \\ User.name),并返回其名称(Fred Jones)

我尝试过的

我有此代码在本地工作,但似乎无法使其在实时服务器上工作:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain,
    "adurl.ad",
    "DC=company,DC=ad",
    "AccountUserName",
    "Password");
//UserPrincipal user = UserPrincipal.Current;
//UserPrincipal user = UserPrincipal.FindByIdentity(ctx, User.Identity.Name);
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "DOMAIN\\User.Name");
string displayName = user.DisplayName;

(本地的“ DOMAIN \\ User.Name”与citrix上的不同,因此我在用户名中进行了硬编码,这在本地有效)

我已将Web配置设置为启用Windows身份验证,并且还将服务器配置为仅启用Windows身份验证。 当我转到网站时,出现Windows安全性弹出窗口,输入我的详细信息,但它不允许我登录。重复尝试会导致以下错误消息:

HTTP错误401.1-未经授权

您无权使用您提供的凭据查看此目录或页面。

如果启用了匿名身份验证,则该页面显示时将没有Windows安全提示,但“ User.Identity.Name”为空白。

我已经浏览了很多堆栈溢出问题和答案,但还没有找到解决我的问题的方法,我们将不胜感激!

我找到了解决方案,将IIS_IUSRS添加到允许的网站文件夹权限中,并赋予了完全访问权限,以使我的网站能够正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM