如何修改Azure的applicationHost.xdt配置设置自定义用户名密码
修改Azure App Service applicationHost.xdt 基础认证配置的步骤
你当前的配置是通过URL重写规则匹配Basic认证的请求头实现访问控制,修改账号密码只需要替换规则中匹配的Base64凭证串即可,操作如下:
- 生成自定义凭证的Base64编码
基础身份认证的凭证规则是将「自定义用户名:自定义密码」(中间为英文冒号,无多余空格)做ASCII编码后转Base64。
你可以用本地终端直接生成,避免凭证泄露:- Windows PowerShell生成命令:
[Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("你的用户名:你的密码")) - Linux/macOS终端生成命令:
echo -n "你的用户名:你的密码" | base64
- Windows PowerShell生成命令:
- 替换配置文件中的匹配串
找到原配置中的条件判断行:
将默认的Base64串<add input="{HTTP_AUTHORIZATION}" pattern="^Basic dXNlcjpwYXNzd29yZA==" ignoreCase="false" negate="true" />dXNlcjpwYXNzd29yZA==替换为你上一步生成的编码串即可。
示例:如果你设置用户名为azureuser,密码为Azure@2024test,生成的Base64串为YXp1cmV1c2VyOkF6dXJlQDIwMjR0ZXN0,修改后该行变为:<add input="{HTTP_AUTHORIZATION}" pattern="^Basic YXp1cmV1c2VyOkF6dXJlQDIwMjR0ZXN0" ignoreCase="false" negate="true" /> - (可选)修改认证提示域
如果需要修改浏览器弹出登录框时显示的域名称,可以修改以下配置行的realm值:
将<set name="RESPONSE_WWW_AUTHENTICATE" value="Basic realm=Project" />Project替换为你想要的自定义名称即可。 - 保存修改后的applicationHost.xdt文件,更新到Azure App Service后配置就会生效。
注意:不要使用公共在线Base64工具处理你的账号密码,避免凭证泄露。
内容的提问来源于stack exchange,提问作者hadi boukdir
相关产品推荐
相关产品推荐

