加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

iis-7.5 – IIS 7.5:如何使用Windows身份验证配置自定义身份验

发布时间:2021-03-06 14:35:03 所属栏目:Windows 来源:网络整理
导读:我有一个在IIS 7.5下运行的php网站.该站点受 Windows身份验证保护,工作正常: 当用户访问该站点时,系统会要求他们输入用户名/密码,并在通过身份验证后通过.如果用户单击“取消”或错误输入密码3次,则会显示401错误页面: 现在我想显示解释如何登录的自定义

我有一个在IIS 7.5下运行的php网站.该站点受 Windows身份验证保护,工作正常:

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

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

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

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

我试过替换401,401.1,401.2 – 没有任何区别.

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

附:这是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 impersonate="false" />
        <customErrors defaultRedirect="http://www.myserver.com/not_restricted/500.htm" mode="Off">
        </customErrors>
    </system.web>
</configuration>
试试这个:

更改:

<error statusCode="401" subStatusCode="2" prefixLanguageFilePath="" path="/not_restricted/401.htm" responseMode="ExecuteURL" />

<error statusCode="401" subStatusCode="2" prefixLanguageFilePath="" path="not_restricted401.htm" responseMode="File" />

使用响应模式“文件”IIS只加载该文件的内容并显示它,它仍然将401状态发送回客户端.

我以前使用’ExecuteURL’,但已经知道文件模式工作得更好.您只需确保错误页面中的任何链接资源仍然有效.

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读