【发布时间】:2015-12-18 15:35:17
【问题描述】:
我有一个项目,我已将我的应用程序配置为使用 Window 的身份验证。所有其他形式的连接都被禁用,它们必须是我们域的一部分才能连接到此应用程序。但问题是,一些用户虽然不在域中,但无权访问该应用程序。他们收到以下 Internet 信息系统中指定的通用 401 错误。
401 未授权访问,访问被拒绝。
项目解决方案如下:
<authentication mode="Windows"></authentication>
<membership defaultProvider="ADMembership">
<providers>
<add name="ADMembership" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicToken=b03f5f7f11d50a3a" connectionStringName="ADConnection" connectionUsername="domain/user" connectionPassword="password" />
</providers>
</membership>
ADConnection 是有效的 Active Directory connectionString。我确保,当我查询时,上面的代码包含在我的system.Web 中。为什么域内的一些用户可以正确登录,而另一些则不能?
补充说明:
- IIS 配置为尝试 NTLM,然后进行协商。
- Chrome 已将域列入白名单,还配置了 NTLM。
- 点击取消登录后会出现401错误,否则会无限询问用户名和密码。
【问题讨论】:
-
配置中的会员提供者有什么意义?它绝对与集成身份验证无关。
-
@WiktorZychla 所有文档都提到了它,集成身份验证的文档是什么,它作为我们的域用户自动登录?
-
你可能误会了什么,会员资格提供者只与表单身份验证一起使用。在 Windows 身份验证的情况下,使用 ntlm/kerberos 没有显式配置。
-
另外,请使用此清单wiktorzychla.com/2012/06/… 验证您的配置
-
@WiktorZychla 我会看一下,是的,如果我误解了,我会想要获得适当的文档来弥补我的知识差距。
标签: c# asp.net asp.net-mvc active-directory