我在 Redmine 上开发了一个插件,当 Apache 的 Kerberos 票证被接受时,它会使用 Apache 提供的 REMOTE_USER 自动登录用户。只要用户有公司登录名,此插件就可以工作,但有些开发人员可能来自其他开发公司,因此他们会使用本地 Redmine 帐户。
如果外部用户连接到该平台,他将永远无权访问,因为 Apache 会尝试使用 Kerberos 记录该用户,而不会让他进入。
第一个办法是复制不使用 Kerberos 的 Redmine 实例,这样标准的 Redmine 登录页面就可以处理身份验证。这个解决方案有效,但“黑客”可以看到它正在运行什么,我想避免这种情况……对于这个问题,我分叉了 Redmine 为 SVN 身份验证提供的 Perl 脚本,并对其进行了调整,使其基于 Redmine 本地数据库执行标准基本身份验证。一旦允许使用 REMOTE_USER 进入,我的 redmine 插件就会让他进入。
我仍然有两个相同软件的实例,它们具有两个不同的 URL,我不喜欢这一点……所以我正在寻找一个在 Apache 上具有本地身份验证回退的 Kerberos 身份验证。我在互联网上和这里发现我可以使用关键字 AuthnProviderAlias 或 AuthBasicProvider。似乎我可以指定 Kerberos,但不能指定我的“自定义”perl 脚本……
有人知道吗?我看不懂这个页面?