Browse Source

[ADD] auth_from_http_basic

pull/2/head
Holger Brunn 11 years ago
parent
commit
fd7f90367e
  1. 40
      auth_from_http_basic/__init__.py
  2. 52
      auth_from_http_basic/__openerp__.py
  3. BIN
      auth_from_http_basic/static/src/img/icon.png

40
auth_from_http_basic/__init__.py

@ -0,0 +1,40 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2014 Therp BV (<http://therp.nl>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.addons.web.http import WebRequest
from openerp.addons.web.controllers.main import db_list
old_init = WebRequest.init
def init(self, params):
old_init(self, params)
if self.httprequest.authorization and not self.session._login:
dbs = db_list(self)
self.session.authenticate(
dbs and dbs[0],
self.httprequest.authorization.username,
self.httprequest.authorization.password,
dict(
base_location=self.httprequest.url_root.rstrip('/'),
HTTP_HOST=self.httprequest.environ['HTTP_HOST'],
REMOTE_ADDR=self.httprequest.environ['REMOTE_ADDR']
))
WebRequest.init = init

52
auth_from_http_basic/__openerp__.py

@ -0,0 +1,52 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2014 Therp BV (<http://therp.nl>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
"name" : "Authenticate via HTTP basic authentication",
"version" : "1.0",
"author" : "Therp BV",
"complexity": "expert",
"description": """
In an environment where several web applications authenticate against the same
source, the simplest way to attain single sign on would be to have the
webserver handle authentication and pass the login information via HTTP headers
to the application it proxies.
This addon allows for this setup. Technically, it picks up the HTTP
Authorization header, extract a username and a password from that and tries to
login into the first database found in the database list.
""",
"category" : "",
"depends" : [
],
"data" : [
],
"js": [
],
"css": [
],
"qweb": [
],
"auto_install": False,
"installable": True,
"external_dependencies" : {
'python' : [],
},
}

BIN
auth_from_http_basic/static/src/img/icon.png

After

Width: 80  |  Height: 80  |  Size: 1.1 KiB

Loading…
Cancel
Save