标签: windows-authentication

IIS 7.5:如何使用 Windows 身份验证配置自定义身份验证错误页面。401标题问题

我有一个在 IIS 7.5 下运行的 php 网站。该站点受 Windows 身份验证保护,并且运行良好:

Windows 身份验证已开启

当用户访问该站点时,他们会被要求输入用户名/密码,并在通过身份验证后通过。如果用户单击取消或错误输入密码 3 次,则会显示 401 错误页面:

丑陋的401页面

现在我想展示解释如何登录的自定义页面。所以我转到错误页面,选择状态代码 401.2 并将其指向我想要显示的页面:

错误页面设置

然后确保为每个人打开自定义错误。和 kaa-boom!身份验证不再起作用,用户不会看到密码提示。正如文档所说,Windows 身份验证的工作原理是首先发送 401 回复,然后浏览器要求用户提供凭据,然后他们确定下一步要做什么。

这里发生了什么:在第一次请求页面时,IIS 尝试发送 401 标头,但注意到 web.config 显示“在 401 上重定向到此页面”。而不是身份验证,它只提供重定向页面。

我试过更换 401、401.1、401.2 - 没有区别。

我做错了什么以及如何在用户身份验证错误时提供自定义页面?

ps 这是 web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpErrors errorMode="Custom">
            <remove statusCode="500" subStatusCode="-1" />
            <remove statusCode="404" subStatusCode="-1" />
            <remove statusCode="401" subStatusCode="-1" />
            <error statusCode="401" subStatusCode="2" prefixLanguageFilePath="" path="/not_restricted/401.htm" responseMode="ExecuteURL" />
            <error statusCode="404" prefixLanguageFilePath="" path="/not_restricted/404.htm" responseMode="ExecuteURL" />
        </httpErrors>
        <httpProtocol>
            <customHeaders>
                <remove name="X-Powered-By" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
    <system.web>
        <identity …
Run Code Online (Sandbox Code Playgroud)

iis-7.5 windows-authentication custom-errors

15
推荐指数
1
解决办法
2万
查看次数

我是如何让这个 Windows 共享提示登录的?

或者:“这是一个东西吗?我如何检查它是否存在?”

没有域控制器的环境中,当服务器上没有匹配用户帐户的远程计算机访问 Windows Server 2008 R2 机器上的共享时,(并通过\\SERVERNAME\ShareName从“开始”菜单键入内容进行连接)我目前观察到以下行为基于在“密码保护共享”设置(高级共享设置)上:

当“密码保护共享”打开,所有尝试的连接在最多 30 秒后失败,并显示:

登录失败:用户没有被授予在这台计算机上请求的登录类型。

关闭“密码保护共享”,允许连接到匿名可访问共享,而权限限制共享失败:

您无权访问 \SERVERNAME\ShareName。请联系您的网络管理员以请求访问。

这似乎是预期的行为。我需要匿名登录可以访问某些共享,因此我必须将此设置从默认更改为off

然而,这里还有第三种情况。哇哦?

如果您在未修改此设置的情况下尝试连接到共享(即,它设置为打开但您从未单击过它),则连接的行为类似于上述打开情况,因为最多需要 30 秒才能显示一个响应,然后它显示一个身份验证对话框

共享身份验证对话框

在我的头撞墙几天后,我有这种预感,只是在没有现有共享的服务器上复制它:创建非读取共享,尝试连接并获取对话框,更改设置,连接成功,更改设置back,并得到不同的错误信息。(在新的客户端系统上测试了所有这些,所以没有缓存的风险。)

重申:我已经控制了客户端系统。这似乎完全与服务器有关。

因此,我很清楚更改“密码保护共享”设置在幕后改变了不止一件事(注册表项?我是 Mac 本地人),并且系统附带的默认设置并不完全匹配设置反映在控制面板中(或者控制面板本身坏了,应该改变更多的东西)。

所以问题是:这是设计使然,还是错误?在这两种情况下,正在更改或保持不变的“隐藏设置”是什么?如何追踪呢?我要测试的新服务器用完了。:-(

network-share server-message-block guest windows-server-2008-r2 windows-authentication

14
推荐指数
1
解决办法
2万
查看次数

为什么 RDP 不接受我存储的凭据,并让我每次都手动输入?

尝试通过 RDP 登录 Amazon EC2 实例(运行 Windows Server 2012 R2)。它有效,我可以连接,但是保存了有效的凭据后,它们似乎永远不会在后续登录时被接受,总是拒绝它们并要求我手动重新输入密码部分。

登录提示对话框截图

没有任何关于它为什么不起作用的信息,只是它没有 - “您的凭据不起作用”和“登录尝试失败”。然后我像往常一样输入相同的密码,它起作用了。

我可以看到凭据实际上保存在凭据管理器中,并且总是在尝试登录时填写正确的名称。我还可以看到它在出现此对话框之前尝试保存的凭据一瞬间。

在谷歌上搜索答案后,我尝试了几件事,包括使用 IP 地址与 FQDN,使用组策略编辑器(“允许使用 NTLM-only 服务器身份验证委派保存的凭据”),并检查远程端的组策略,用于任何看起来不寻常的事情。没有骰子。

我如何让它接受它保存的凭据而不是每次都提示我?

rdp remote-desktop windows-authentication credentials

12
推荐指数
2
解决办法
2万
查看次数

无法在 Windows Server 2012 上使用 ICACLS 分配组权限

我无法让 icacls 接受我的组以添加权限。我正在使用带有以下命令的提升的电源外壳:

icacls 'C:/foo' /grant:r 'Group Foo':f
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Invalid parameter "Group Foo"
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用 SUID,但也失败了。我也试过 'Domain\Group Foo'

我有一堆文件,我试图允许一个组使用。在 Windows Server 2012 中添加批量权限的正确方法是什么?

- 编辑 -

E:\> icacls "E:/Contact Numbers.xlsx" /grant:r "Users":f
Invalid parameter "Users"
Run Code Online (Sandbox Code Playgroud)

windows windows-authentication file-permissions icacls windows-server-2012

11
推荐指数
1
解决办法
3万
查看次数

BUILTIN\Users 的定义?

对于 Windows 域上的服务器,“BUILTIN\Users”的成员身份究竟是什么?

(我认为这有一个明显的答案,但谷歌搜索没有给我任何明确的定义)

windows authentication windows-authentication

10
推荐指数
1
解决办法
2万
查看次数

使用完全限定的 url 对本地服务器上的 IIS 进行 Windows 身份验证

我在配置了 Windows 身份验证的 IIS 7 中设置了一个 Web 应用程序。我可以通过它来自任何其他机器的完全限定 url 对机器进行身份验证,并且它使用正确的域。但是,当我尝试通过完全限定的域(在另一个服务中,或仅通过 IE 中的 url)从自身连接到机器时,Windows 登录提示会尝试强制使用计算机作为域,而不是用于登录的正确域。尝试使用domain\username或指定域username@domain.com失败。

我应该注意,通过localhost在机器上查看 Web 应用程序可以工作,但是site.company.com/webservice在本地机器上使用完整样式 url 不起作用,因为登录域是错误的。我该怎么做才能使其使用正确的登录域?

iis windows-authentication

9
推荐指数
1
解决办法
2万
查看次数

使用 VPN 时,Windows 身份验证的行为很奇怪

我们有一些依赖 Windows 身份验证的应用程序 - 几个启用了 AD 身份验证的 Web 应用程序,我们通常使用 Windows 身份验证连接到我们的 SQL 服务器。这通常可以顺利运行。但是,如果我们通过 VPN 连接到客户端站点,则效果不佳。


安全管理系统

从开始菜单正常打开 SSMS,然后选择一个通常接受 Windows 身份验证的服务器,会显示一条消息:

登录失败。登录名来自不受信任的域,不能与 Windows 身份验证一起使用。(.Net SqlClient 数据提供程序)

如果我进入命令提示符并用于runas /user:domain\user启动 SSMS,我可以使用该 ssms 进程成功地对我们的 SQL 服务器实例进行 Windows 身份验证。

如果我查看任务管理器,ssms.exe(开始菜单与 runas)的两个副本都具有相同的用户,并且我看不到 procexp 中的进程之间存在明显差异。

AD认证网站

如果我打开 IE 并浏览到任何需要经过身份验证的 Windows 用户的网站,我都会收到“你是谁”的提示,并且该对话框认为我就是 VPN 用户。我可以单击“使用另一个帐户”并以这种方式进行身份验证。

外表

当我们使用 VPN 时,甚至 Outlook 也会提示输入用户名!


它正在影响我们的 Win7 和 Vista 机器。我们已经有一段时间没有 XP 盒了,但我不记得在 XP 上有这个问题,因为它的价值。

VPN 连接只是使用内置的 Windows VPN 连接,它们不是花哨的 cisco VPN 或任何类似的东西。

有谁知道如何在对我们域中的资源进行身份验证时告诉 windows 我想成为我的普通旧主域用户而不是 VPN 用户?哎呀,如果我尝试访问需要客户端 VPN 上的资源的 Windows 身份验证,我会对提示我“你是谁”的解决方案感到满意。 …

vpn active-directory authentication windows-authentication

8
推荐指数
1
解决办法
9660
查看次数

Kerberos 委派的风险

我一直在努力学习和理解 IIS 7.5 中的 Windows 身份验证、Kerberos、SPN 和约束委派。我只是不明白的一件事是为什么为管理员、首席执行官等启用委派(即不禁用敏感帐户的委派)是“有风险的”。有人可以简单地向我解释一下吗?请根据 Intranet 环境构建您的答案。

我的理由是它不应该是一个问题,因为委派只是允许前端 Web 服务器,例如,在与其他服务器通信时代表 Windows Authenticated 人员进行操作。如果这个人有访问权限,他们就有访问权限,我不明白为什么这应该是一个问题。

请原谅我的无知。我主要是一名开发人员,但我的公司现在运行得很精简,我也被迫戴上服务器管理员的帽子……不幸的是,它仍然不太适合,哈哈。

kerberos delegation intranet iis-7.5 windows-authentication

8
推荐指数
1
解决办法
1855
查看次数

通过 RADIUS 进行身份验证:MSCHAPv2 错误 691

我正在通过 RADIUS 将身份验证设置为 Acme Packet Net-Net 3820 (SBC)。会计方面的工作正常,没有任何问题。身份验证方面是另一回事。我可以从数据包捕获中看到访问请求消息实际上正在到达 RADIUS 服务器,此时 RADIUS 服务器开始与域控制器通信。然后我看到通信链返回到 RADIUS,最后返回到 SBC。问题是我得到的响应始终是一条原因代码为 16 的访问拒绝消息(由于用户凭据不匹配导致身份验证失败。提供的用户名与现有用户帐户不匹配或密码不正确)。通过查看安全事件日志可以确认这一点,我可以在其中看到事件 4625 和 6273。

事件 ID:6273


Network Policy Server denied access to a user.

Contact the Network Policy Server administrator for more information.

User:
    Security ID:            NULL SID
    Account Name:           real_username
    Account Domain:         real_domain
    Fully Qualified Account Name:   real_domain\real_username

Client Machine:
    Security ID:            NULL SID
    Account Name:           -
    Fully Qualified Account Name:   -
    OS-Version:         -
    Called Station Identifier:      -
    Calling Station Identifier:     -

NAS:
    NAS …
Run Code Online (Sandbox Code Playgroud)

radius windows-authentication nps

8
推荐指数
1
解决办法
4万
查看次数

为什么一个用户可以通过多个 UPN 登录?

我已将公司的所有用户的 UPN 后缀从us.mycompany.local更改为mycompany.com,以便使用声明感知应用程序。在更改之前的测试中,我发现即使我更改了 UPN 后缀,用户也可以使用旧后缀成功进行身份验证。我不明白的是为什么这仍然有效。

active-directory windows-authentication adfs

7
推荐指数
1
解决办法
2万
查看次数