跳转到主要内容

通过HTTP远程用户进行认证

项目描述

License: AGPL-3

通过HTTP远程用户进行认证

此模块通过在HTTP请求的HEADERS中查找HTTP_REMOTE_USER字段并尝试将给定的值绑定到用户来初始化会话。为了生效,该模块必须安装在预期的数据库中,并在启动时加载;在启动命令中添加–load参数

--load=web,auth_from_http_remote_user, ...

如果头中找到该字段,但没有任何用户匹配给定的值,系统将发出登录错误页面。(401 未授权

配置

该模块允许与外部安全系统集成[1],这些安全系统可以通过远程用户HTTP头字段传递用户的认证。在许多情况下,这是通过Apache HTTPD或nginx代理Odoo的服务器实现的。

如何使用Apache测试该模块[2]

Apache可以用作反向代理,提供认证并在HTTP头中添加所需的字段。

安装apache

$ sudo apt-get install apache2

通过在 /etc/apache2/sites-available 中放置新文件来为Apache定义一个新的vhost

$ sudo vi  /etc/apache2/sites-available/MY_VHOST.com

以下内容

<VirtualHost *:80>
  ServerName MY_VHOST.com
  ProxyRequests Off
  <Location />
    AuthType Basic
    AuthName "Test Odoo auth_from_http_remote_user"
    AuthBasicProvider file
    AuthUserFile /etc/apache2/MY_VHOST.htpasswd
    Require valid-user

    RewriteEngine On
    RewriteCond %{LA-U:REMOTE_USER} (.+)
    RewriteRule . - [E=RU:%1]
    RequestHeader set Remote-User "%{RU}e" env=RU
  </Location>

  RequestHeader unset Remote-User early
  ProxyPass / http://127.0.0.1:8069/  retry=10
  ProxyPassReverse  / http://127.0.0.1:8069/
  ProxyPreserveHost On
</VirtualHost>

启用所需的Apache模块

$ sudo a2enmod headers
$ sudo a2enmod proxy
$ sudo a2enmod rewrite
$ sudo a2enmod proxy_http

启用您的新虚拟主机

$ sudo a2ensite MY_VHOST.com

创建用于配置基本认证的htpassword文件

$ sudo htpasswd -cb /etc/apache2/MY_VHOST.htpasswd admin admin
$ sudo htpasswd -b /etc/apache2/MY_VHOST.htpasswd demo demo

对于本地测试,请将MY_VHOST.com添加到您的/etc/vhosts文件中。

最后,重新加载配置

$ sudo service apache2 reload

打开您的浏览器并访问MY_VHOST.com。如果一切配置正确,您将需要在Odoo外部进行登录和密码提示,并且系统会自动登录。

用法

Try me on Runbot

错误跟踪器

错误在GitHub Issues上跟踪。如果遇到问题,请检查是否已报告您的问题。如果您是第一个发现它的,请通过提供详细和受欢迎的反馈来帮助我们解决这个问题。

致谢

图片

  • Odoo社区协会: 图标

贡献者

  • Laurent Mignon

  • Andrea Colangelo

维护者

Odoo Community Association

此模块由OCA维护。

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。

要为此模块做出贡献,请访问https://odoo-community.org

项目详细信息


下载文件

为您的平台下载文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分发

此版本没有可用的源分发文件。请参阅有关生成分发存档的教程。

构建分发

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面