diff --git a/openerp/addons/base/base_data.xml b/openerp/addons/base/base_data.xml
index df6aaee8ac4..ee0d3fa721b 100644
--- a/openerp/addons/base/base_data.xml
+++ b/openerp/addons/base/base_data.xml
@@ -129,6 +129,19 @@ Administrator
/dev/null
all
+
+
+ Anonymous
+ public
+
+
+
+
+
+
+
+
+
diff --git a/openerp/addons/base/ir/ir_http.py b/openerp/addons/base/ir/ir_http.py
index 704bf8b1ec7..5a96bbb1f56 100644
--- a/openerp/addons/base/ir/ir_http.py
+++ b/openerp/addons/base/ir/ir_http.py
@@ -70,6 +70,12 @@ class ir_http(osv.AbstractModel):
request.disable_db = True
request.uid = None
+ def _auth_method_public(self):
+ if not request.session.uid:
+ dummy, request.uid = self.pool['ir.model.data'].get_object_reference(request.cr, openerp.SUPERUSER_ID, 'base', 'public_user')
+ else:
+ request.uid = request.session.uid
+
def _authenticate(self, auth_method='user'):
if request.session.uid:
try: