Apache 身份验证:失败时重定向,可靠吗?

2023-11-22

我已将 ErrorDocument 401 设置为指向我网站的帐户创建页面,但并非所有浏览器似乎都支持此重定向(Safari)。

此外,其他浏览器(Firefox、Chrome)永远不会停止询问密码并显示 ErrorDocument。这导致大量用户在多次尝试密码后放弃尝试,而没有看到帐户创建页面。

有没有什么方法可以使重定向更加可靠,而不完全破坏基本身份验证?


您的问题的简单答案是否定的,如果不实现自定义身份验证,您就无法使其变得更可靠。

Firefox 和 Chrome 显示您在 ErrorDocument 401 指令中指定的页面的唯一方法是单击“取消”按钮。此外,没有使用 401 HTTP 代码发送重定向;相反,它是用 ErrorDocument 401 指令指定的文档内容。您可以使用 HTML 元标记进行重定向:

<Location "/protected">
    AuthUserFile /path/to/users
    AuthName "This is protected area"
    AuthGroupFile /dev/null
    AuthType Basic
    Require valid-user

    #ErrorDocument 401 /register.html
    ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=/register.html\"></html>"
</Location>

您的问题的可能解决方案是创建自定义基本 HTTP 身份验证模块或使用支持基本 HTTP 身份验证挂钩的语言(例如 php)

http://php.net/manual/en/features.http-auth.php

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache 身份验证:失败时重定向,可靠吗? 的相关文章

随机推荐

  • Unity3D-获取组件

    在Unity3D中获取组件的最简单方法是什么C My case GameObject gamemaster C script MainGameLogic cs attached to gamemaster A boolean backfac
  • 编译器在运行前将 Java 字节码转换为与平台无关的 C 代码?

    我正在寻找一个编译器 可以在运行之前将 Java 字节码转换为独立于平台的 C 代码 提前编译 然后 我应该能够使用标准 C 编译器将 C 代码编译为目标平台的可执行文件 据我了解 这种方法仅适用于某些不经常修改的 Java 应用程序 那么
  • 如何在现代 C++ 中将 float 转换为 int

    尽管看起来很奇怪 但我找不到如何干净地转换float to an int 这种技术 int int value int float value 0 5 触发一个 warning use of old style cast in gcc 那么
  • Java中对象的内存消耗是多少?

    一个具有 100 个属性的对象所消耗的内存空间与 100 个对象 每个对象各有一个属性 所消耗的内存空间相同吗 为一个对象分配了多少内存 添加属性时使用了多少额外空间 Mindprod指出这不是一个容易回答的问题 JVM 可以自由地以任何内
  • 日期在 mysql 中插入为 0000-00-00 00:00:00

    My date输出在 foreach 循环中 2011年9月25日 2011年2月13日 2010年9月15日 2010年6月11日 2010年4月13日 2010年4月13日 2010年4月13日 09 09 24 02 19 09 12
  • 如何在 azure linux 托管的 Web 应用程序上运行 cronjobs?

    在 azure 上的 Linux Web 应用程序上找不到 Crontab 命令 我正在尝试为 Laravel 应用程序安排 cronjob 我正在尝试为我的 laravel web 应用程序运行一个 cronjob 在线解决方案建议我为此
  • R中如何合并两行?

    我想根据行名组合 求和两行 以在 R 中生成一行 最好的路线可能是创建一个新行并将两行求和在一起 示例 df A 1 3 4 6 B 3 2 7 9 C 6 8 1 2 D 3 2 8 9 其中 A B C D 是行名 我想将两行 A 和
  • Java XML:ClassCastException DeferredTextImpl

    这是我的代码 get the factory DocumentBuilderFactory dbf DocumentBuilderFactory newInstance try Using factory get an instance o
  • 从 MatPlotLib 画布获取二进制图像数据?

    我试图从 matplotlib 画布中获取二进制数据 以便将其附加到电子邮件中 但我发现这样做的唯一方法是说 filename image png canvas print figure filename with open filenam
  • 如何将该程序从 conio 移植到curses?

    我在 Windows 上编写了这个简单的程序 由于Windows有conio 所以它工作得很好 include
  • 将 Equinox OSGi 集成到 Apache Tomcat Web 应用程序中

    是否可以将 osgi equinox 引入到现有的 java Apache Tomcat 项目中 根据我的理解 OSGI 必须在某种 容器 内运行 我将如何整合它 我也在使用Jersey用于 RESTful 资源 您可能想看看这个问题 传统
  • Nginx、PHP + FPM 自定义错误页面

    我正在尝试创建一些自定义错误页面 但似乎无法让 500 页面正常工作 我有以下配置 server listen 80 root var www devsite index index php server name devsite erro
  • 如何将 Paypal 的 HH:MM:SS DD Mmm(.) YYYY PST/PDT 转换为 C# UTC 日期时间?

    我想在 SQL Server 数据库中以这种格式记录 payment date Update 直觉在这一点上是正确的 在这里找到了解决方案 http www codeillustrator com 2010 03 converting pa
  • 如何检测QWidget的关闭按钮被按下?

    我创建一个新的QWidget对象 我想知道何时按下关闭按钮 我尝试过以下代码 pWindow new QWidget connect pWindow SIGNAL triggered this SLOT processCloseButton
  • 如何在 Tensorflow Serving 中进行批处理?

    部署 Tensorflow Serving 并运行 Inception V3 测试 工作正常 现在 想要为 Inception V3 进行批处理 例如 希望发送 10 张图像 而不是一张 进行预测 怎么做 要更新哪些文件 inception
  • hadoop map减少二次排序

    谁能解释一下 hadoop 中的二次排序是如何工作的 为什么一定要使用GroupingComparator它在 hadoop 中是如何工作的 我正在浏览下面给出的链接 并对 groupcomapator 的工作原理产生疑问 谁能解释一下分组
  • java.sql.SQLException: ORA-00928: 缺少 SELECT 关键字。使用 JDBC 将记录插入数据库时

    当我尝试将一些行插入数据库时 出现错误 所以这是代码 try String insertStmt INSERT into MY TABLE RECORD TYPE FILE TYPE DATE BATCH NO RECORD COUNT V
  • 新的 C# 异步功能是否在编译器中严格实现

    作为一名对探索 事物如何工作 感兴趣的 C 程序员 我有兴趣更多地了解创造新事物的过程async特色工作 我关注了 Eric Lippert 关于异步的优秀文章系列 异步博客文章 我不记得在任何地方看到过任何关于此功能的实现 在高级别上 的
  • 动态改变CSS

    我需要确定哪个CSS应该应用于某些特定页面 我有一个包含子项和内容的母版页默认 aspx and 服务 aspx是母版页的子级 我想要的是当用户导航时默认 aspx or 服务 aspx 系统应适用默认CSS文件否则我想应用一些普通CSS
  • Apache 身份验证:失败时重定向,可靠吗?

    我已将 ErrorDocument 401 设置为指向我网站的帐户创建页面 但并非所有浏览器似乎都支持此重定向 Safari 此外 其他浏览器 Firefox Chrome 永远不会停止询问密码并显示 ErrorDocument 这导致大量