问题标签 [mod-auth-form]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2090 浏览

apache - Apache2 mod_auth_form Location 下的重定向太多

我正在尝试使用构建代理 HTTP 授权页面mod_auth_form

我的目标是在目录中有一个 Auth 页面DocumentRoot,然后一旦用户连接,只需代理所有路由到“真实”应用程序,在 localhost 上使用另一个端口运行。

我在根目录下使用 Auth 指令设置了我的虚拟主机Location

编辑 我需要的只是颠倒<Location></Location>指令的顺序......并为表单处理程序添加一个特殊的位置。工作解决方案:

当我尝试访问 subdomain.example.com 时,我被重定向到 subdomain.example.com/login.html(这很好!)

此 /var/www/subdomain.example.com/web/login.html 页面的内容:

但是,这个 login.html 页面永远不会显示,我收到一个TOO_MANY_REDIRECTS错误:

http://subdomain.example.com/login.html的网页导致了过多的重定向。

似乎这条特殊路线必须被 Auth 进程“锁定”......但我不知道如何启用它......

我试图添加另一个ErrorDocument 401 /login.html指令,但它没有改变任何东西。

0 投票
1 回答
1010 浏览

apache - httpd/mod_auth_form 在身份验证后使用传入的 uri 保留和重定向

我被这个问题阻止了:

处理:Apache httpd、Tomcat、mod_auth_form 和 mod_jk。


问题:

当前使用 mod_auth_form 在 apache httpd 中加载登录页面进行身份验证。等重定向到登录页面,传入的 uri 丢失了。成功验证后,我必须使用以前的 uri 重定向到托管在 tomcat 中的 webapp,因为 webapp 需要处理信息。


那么有什么方法可以将传入的请求保存在 apache httpd 中,并且在身份验证后只需使用 mod_jk 重定向到 tomcat ??。

0 投票
1 回答
187 浏览

apache - httpd/mod_auth_form 如何在无效凭据上显示错误消息?

使用带有 ErrorDocument 401 的内联表单,如何在用户登录失败时显示错误消息?

预期的功能仍然有效(例如登录重定向)。在用户的浏览器中看不到登录/注销 URL。当用户注销时,当他们 401 回到内联登录页面时,不应显示该消息。

我目前正在使用一个onsubmit函数在sessionStorage. 如果页面加载(正文onload函数)并看到此标志,它将显示错误消息(例如,用户输入了错误的凭据并再次返回此处)。这工作正常,直到他们注销。他们是 401'd 到登录页面并且标志仍然存在,所以他们看到错误消息。

我需要以某种方式清除消息。

好吧,GET vs POST!初始页面加载是 GET,注销是 GET;因此,只有失败的登录才会使用 POST 加载此页面。

让我们激活 SSI 并使用 env var(这在登录和注销位置指令中):

SetEnvIf Request_Method "^GET$" LOGIN-ERROR-CLEAR="1"

在我们的init中注入一些JS来清除sessionStorage:

听起来合乎逻辑……但是,它不起作用。JS没有注入。

  • GET /logout-> 307 到“/”(由于AuthFormLogoutLocation "/"
  • GET /-> 401,内容为 /login.html
  • 错误信息显示错误

所有 GET,但未注入 JS。到底是怎么回事?我回到了使用 SetEnvIf 之前的起点——没有区别。它什么也没做!

有没有更好的方法来触发错误消息并在成功登录或注销后清除触发器?这不应该这么难!

0 投票
0 回答
204 浏览

php - 使用 Apache 和 PHP (REMOTE_USER) 查找用户名

我使用 Apache 的“mod_auth_form”模块来验证用户,它工作得很好。但现在我需要找出登录到网站以使用其他应用程序的用户。我在网上搜索并$_SERVER['REMOTE_USER']在 PHP 中找到了变量。但我无法让它工作。它不返回任何东西。有没有办法让REMOTE_USER变量工作?还是有另一种方法可以找到通过 Apache 的 auth_form 模块登录的用户?我的环境“Apache/2.4.6 (CentOS)”和“PHP 7.3.13”。

谢谢你。

编辑:

我找到了解决方案:要填充 REMOTE_USER,必须在受保护的页面下发出请求。简而言之,我将 php 文件放在私有目录中,并且它起作用了。在所有页面中都有它会很好。但是,我希望它对其他人有所帮助。

0 投票
1 回答
386 浏览

apache - 重新启动apache2时出现mod_auth_form apache错误

我试图保护我目录中名为 admin 的文件夹并从 html 表单页面登录。在我的 apache 服务器上,我使用以下内容编辑了 default-ssl.conf:

我的密码文件是 .htpasswd ,我的登录页面是http://myserver.com/login.html

当我重新启动我的 apache 时,出现以下错误:

AH00526:/etc/apache2/sites-enabled/default-ssl.conf 第 16 行的语法错误:无效命令“AuthFormProvider”,可能拼写错误或由未包含在服务器配置操作“启动”中的模块定义。

有什么解决办法吗?

0 投票
1 回答
33 浏览

php - 脚本头过早结束:CGI、Nagios、LDAP

我为 LDAPS 身份验证设置了 Nagvis 和 Nagios。我在 Nagvis 中有一个监控点(链接),它将我带到 Nagios Core 中的服务信息。当我单击 Nagvis 中的链接以访问 Nagios 时,我收到以下错误:/var/log/httpd24/error_log:

当我进入下一页时,我遇到了一个内部服务器错误页面,它只是告诉我查阅错误日志。点击浏览器上的 F5 或后退导航按钮可解决此问题。当我将 LDAPS 身份验证替换为基本身份验证时,不会出现任何问题。

我的 CGI 文件具有适当的权限。在 LDAP 身份验证的过程中一定会丢失一些东西吗?

任何帮助表示赞赏!附上我的nagios.conf ...

0 投票
0 回答
8 浏览

apache - 需要从 OIDC_CLAIM_user_attribute 中提取 uid。以下是 Apache 日志。有什么建议么?我需要在 mod_auth_oidc.conf 文件中使用它

oidc_util_hdr_table_set: OIDC_CLAIM_user_attributes: {"partnerAgency": ["CS"], "manager_uid": ["mjuel"], "piv_upn": ["0165867745@sample.com"],["pivUPN=082326@sample.com,ou =people,ou=csinternal,ou=csenterprise,dc=cs,dc=ds,dc=com"], "csSite": ["HQC"],"last_name": ["Doe"], "display_name": [ "John Doe"], "title": ["Systems Developer"], "csRegion": ["NCR"], "uid": ["jdoe"], "cs_uuid": ["2ab-029c-4959-a500 -c5dfsdf5173a"], "first_name": ["John"], "email": ["johndoe@sample.com"]}, 推荐人: https://login-prestage.sample.com/