Skip to content

Fix Odoo User Cannot Login: Access Denied, Blank Screen, and Authentication Errors

DeployMonkey Team · March 23, 2026 10 min read

The Login Problem

When users cannot log into Odoo, everything stops. No access to CRM, no invoicing, no inventory management. Login failures have many causes — incorrect credentials, disabled accounts, session issues, database problems, or browser-side issues. This guide covers each scenario systematically.

Error 1: Access Denied

# Error message on login page:
"Wrong login/password"
# Or in Odoo logs:
WARNING odoo.addons.base.models.res_users: Login failed for db:mydb login:[email protected]

# Cause 1: Wrong password
# Fix: Reset the password
# As admin: Settings → Users → select user → Change Password

# Cause 2: Wrong database selected
# If multiple databases exist, user may be logging into the wrong one
# Check the database selector on the login page

# Cause 3: User email changed
# Login uses the email field (login), not the name
# Check: Settings → Users → verify the "Email Address" field

Error 2: User Account Disabled

# Symptom: Correct password but still "Access Denied"

# Cause: User record is archived (active = False)
# Fix as admin:
# Settings → Users → click "Filters" → "Archived"
# Find the user → click "Unarchive"

# Via shell (if admin is also locked out):
user = env['res.users'].sudo().with_context(active_test=False).search(
    [('login', '=', '[email protected]')]
)
user.active = True
env.cr.commit()

Error 3: Admin Locked Out

# If the admin account itself is locked out:

# Fix Option 1: Reset admin password via database
psql -d mydb -c "
    UPDATE res_users
    SET password = ''
    WHERE login = 'admin';
"
# Then use Odoo shell to set a new password:
./odoo-bin shell -d mydb
env['res.users'].browse(2).password = 'NewSecurePassword123'
env.cr.commit()
exit()

# Fix Option 2: Reset via command line
./odoo-bin -d mydb -u base --stop-after-init
# Then log in with the master password to reset admin

# Fix Option 3: Direct password hash update
python3 -c "
from passlib.context import CryptContext
ctx = CryptContext(schemes=['pbkdf2_sha512'])
print(ctx.hash('NewPassword123'))
"
# Then:
psql -d mydb -c "UPDATE res_users SET password = 'HASH_FROM_ABOVE' WHERE login = 'admin';"

Error 4: Blank Screen After Login

# User enters correct credentials, page loads but shows blank or white screen

# Cause 1: JavaScript/CSS asset compilation error
# Fix: Clear browser cache (Ctrl+Shift+Delete)
# Or clear Odoo asset cache:
psql -d mydb -c "DELETE FROM ir_attachment WHERE name LIKE '%assets_%';"
# Restart Odoo

# Cause 2: Browser extension conflict
# Fix: Try incognito/private browsing mode
# Common culprits: ad blockers, translation extensions

# Cause 3: Mixed content (HTTP/HTTPS)
# Fix: Set proxy_mode = True in odoo.conf if behind reverse proxy

Error 5: Session Expired Immediately

# User logs in successfully but gets kicked back to login page

# Cause 1: Cookie/session issues
# Fix: Clear browser cookies for the Odoo domain
# Or try a different browser

# Cause 2: Session storage full
# Fix: Clear old sessions on the server
find /var/lib/odoo/.local/share/Odoo/sessions -mtime +7 -delete

# Cause 3: Multiple Odoo instances on same domain
# Sessions from one instance conflict with another
# Fix: Use different session cookie names in odoo.conf
# Or use different domains for each instance

Error 6: LDAP/OAuth Authentication Failure

# If using LDAP or OAuth login:

# LDAP:
# Error: "Could not bind to LDAP server"
# Fix: Verify LDAP server address, port, bind DN, and password
# Settings → Technical → LDAP Parameters → Test Connection

# OAuth (Google/Microsoft login):
# Error: "Authentication failed" after provider redirect
# Fix:
# 1. Check OAuth provider credentials (client ID, secret)
# 2. Verify redirect URI matches: https://your-odoo.com/auth_oauth/signin
# 3. Check that the OAuth module is installed and configured
# 4. Verify the user's email matches an existing Odoo user

Error 7: Portal User Cannot Access Backend

# Portal users (customers/vendors) can only access the portal, not /web

# Symptom: Portal user logs in at /web and sees limited portal interface
# Or gets redirected to /my instead of /web

# This is by design — portal users are not internal users

# Fix: If the user needs backend access:
# 1. Settings → Users → select user
# 2. Change user type from "Portal" to "Internal User"
# 3. Assign appropriate security groups
# Warning: This typically requires an additional user license

Error 8: Password Policy Rejection

# Error: "Password does not meet requirements"

# Cause: Password complexity policy enabled
# auth_password_policy module enforces minimum length, complexity

# Check requirements:
# Settings → Users → Password Policy
# Minimum length, uppercase, lowercase, digits, special characters

# Fix: Set a password that meets all requirements
# Or adjust the policy if it's too restrictive

Diagnosing Login Issues

# 1. Check Odoo logs for the specific error:
grep -i 'login\|auth\|password\|denied' /var/log/odoo/odoo-server.log | tail -20

# 2. Verify user exists and is active:
psql -d mydb -c "SELECT id, login, active, share FROM res_users WHERE login = '[email protected]';"

# 3. Test with a known-good account:
# Try logging in with the admin account to rule out system-wide issues

# 4. Check database accessibility:
psql -d mydb -c "SELECT count(*) FROM res_users;"

# 5. Browser developer tools (F12):
# Network tab → look for failed requests during login
# Console tab → look for JavaScript errors