跳转到主要内容

通过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问题上跟踪。如果您遇到问题,请检查是否已报告您的问题。如果是您首先发现的,请通过提供详细且受欢迎的反馈来帮助我们解决它。

致谢

图片

  • Odoo社区协会:图标

贡献者

  • Laurent Mignon

维护者

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 状态页面