65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 AD 和 Windows Server 2012(或更高版本)在内网网站上实现 Windows 身份验证

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.83/5 (5投票s)

2014年10月21日

CPOL

1分钟阅读

viewsIcon

19817

如何使用 WS2012 在内网网站上实现 Windows 身份验证

引言

我花费了数小时尝试使用 Windows 身份验证使我的内网网站正常工作,但就是无法成功。我得到的消息是“您没有权限查看此目录或页面”。

我已经在 web.config 中添加了 AD connectionstring,添加了成员资格提供程序部分,并尝试了所有选项,包括配置 AD connectionUsernamePassword,但仍然无法工作。

最终,我找到了解决方案,而且非常简单!!

背景

Windows Server 2012 及更高版本默认情况下安全性非常高。服务器上你需要的所有内容都需要安装、激活或配置。

如果您在内网站点上工作,并且所有内容都可用在一个域内,则无需配置与 AD(Active Directory)服务器的连接。因此,我们不需要在 web.config 中添加成员资格提供程序部分或 AD connectionstring

但是,为什么我仍然没有权限!

事实证明,剩下的所有操作就是将“Authenticated Users”(已验证用户)组的访问权限授予网站的安装路径,然后一切就绪!

Using the Code

在您的 web.config 中,在 <system.web> 标签内,您需要添加以下内容

<system.web>
    ...
    <authentication mode="Windows">
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>
    ...
</system.web>

在服务器上,找到您的 Web 应用程序的安装路径(例如 C:\inetpub\wwwroot\YourApp)。

转到该文件夹的属性 --> 安全选项卡,并添加本地“Authenticated Users”(已验证用户)组。

最后,授予“Authenticated Users”(已验证用户)组 读取和执行列出文件夹内容读取 权限。

例如

© . All rights reserved.