issue: Groups UI screen does not show users or allow you to add users and user added to group can no longer login #4486

Closed
opened 2025-11-11 15:55:15 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @nick-tgcs on GitHub (Mar 19, 2025).

Check Existing Issues

  • I have searched the existing issues and discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

0.5.20

Ollama Version (if applicable)

No response

Operating System

macOS, docker install

Browser (if applicable)

No response

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have listed steps to reproduce the bug in detail.

Expected Behavior

If you add a user into a group via API, they should show in the the 'Admin Settings -> Groups -> Users' screen. You should also have the ability to add users via the UI.

Also, adding the user to a group should not cause the user to no longer be able to authenticate if the group does not have any specific permissions.

Actual Behavior

The user tab in the group shows '(1)' but no user can be seen in the UI.

Image

Also, the user can no longer login to webui if the group has no permissions. This is due to the backend/open_webui/utils/access_control.py function 'combine_permissions'.

Steps to Reproduce

Add user to a group using the API.
Try and login with user added -> Fails.
View 'groups' with another user, -> Login ok, but user added does not show.

Logs & Screenshots

Image

Fix for login issue is:

def combine_permissions(
    permissions: Dict[str, Any], group_permissions: Dict[str, Any]
) -> Dict[str, Any]:
    """Combine permissions from multiple groups by taking the most permissive value."""
    **# Handle None/null group_permissions
    if group_permissions is None:
        return permissions**
        
    for key, value in group_permissions.items():
        if isinstance(value, dict):
            if key not in permissions:
                permissions[key] = {}
            permissions[key] = combine_permissions(permissions[key], value)
        else:
            if key not in permissions:
                permissions[key] = value
            else:
                permissions[key] = (
                    permissions[key] or value
                ) # Use the most permissive value (True > False)
    return permissions

Let me know if you want a PR, can also look into the group display thing if you would like.

Additional Information

Happy to fix and put up a PR.

Originally created by @nick-tgcs on GitHub (Mar 19, 2025). ### Check Existing Issues - [x] I have searched the existing issues and discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version 0.5.20 ### Ollama Version (if applicable) _No response_ ### Operating System macOS, docker install ### Browser (if applicable) _No response_ ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have listed steps to reproduce the bug in detail. ### Expected Behavior If you add a user into a group via API, they should show in the the 'Admin Settings -> Groups -> Users' screen. You should also have the ability to add users via the UI. Also, adding the user to a group should not cause the user to no longer be able to authenticate if the group does not have any specific permissions. ### Actual Behavior The user tab in the group shows '(1)' but no user can be seen in the UI. <img width="747" alt="Image" src="https://github.com/user-attachments/assets/acab845c-20c9-4327-aef7-f02d9587dcc8" /> Also, the user can no longer login to webui if the group has no permissions. This is due to the backend/open_webui/utils/access_control.py function 'combine_permissions'. ### Steps to Reproduce Add user to a group using the API. Try and login with user added -> Fails. View 'groups' with another user, -> Login ok, but user added does not show. ### Logs & Screenshots <img width="747" alt="Image" src="https://github.com/user-attachments/assets/d2b04eee-ab56-4b22-8aa9-cffd34d56729" /> Fix for login issue is: def combine_permissions( permissions: Dict[str, Any], group_permissions: Dict[str, Any] ) -> Dict[str, Any]: """Combine permissions from multiple groups by taking the most permissive value.""" **# Handle None/null group_permissions if group_permissions is None: return permissions** for key, value in group_permissions.items(): if isinstance(value, dict): if key not in permissions: permissions[key] = {} permissions[key] = combine_permissions(permissions[key], value) else: if key not in permissions: permissions[key] = value else: permissions[key] = ( permissions[key] or value ) # Use the most permissive value (True > False) return permissions Let me know if you want a PR, can also look into the group display thing if you would like. ### Additional Information Happy to fix and put up a PR.
GiteaMirror added the bug label 2025-11-11 15:55:15 -06:00
Author
Owner

@tjbck commented on GitHub (Mar 19, 2025):

API usage isn't supported but would be happy to see a PR in this regard.

@tjbck commented on GitHub (Mar 19, 2025): API usage isn't supported but would be happy to see a PR in this regard.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#4486