Repository navigation
Replies: 5 comments 2 replies
|
@IamTaoChen, I’d like to ask you to join this discussion and clarify how you see the access-control model inside the project. |
|
@trofen In fact, at present I haven't come up with a good way to manage user groups or roles. The UI and data model you see now are just placeholders introduced during the initial imitation of the RustDesk Server Pro project. To be honest, I have no prior experience designing permission management models, nor do I know what real users or administrators actually need. Therefore, this feature has not yet been implemented. In our subsequent discussions, we can completely ignore the existing content on this matter. Let me first talk about device groups. This is a feature supported by the RustDesk client, so I have also introduced the corresponding API interfaces and management options. I suspect that the official RustDesk design intention is to group devices for easier configuration distribution, and to assign device groups to users for management, thus avoiding the tedious process of assigning device permissions to each user individually. The policy feature is also officially supported by the RustDesk client, allowing the admin side to push configurations to clients. For the specific implementation, you can check the Once user groups are implemented in the future, the address book feature will indeed work in concert with them to enable better management. As for the expected model for user group/role management, could you first share your thoughts? What kind of model do you think would be suitable for actual management needs? Since this is a new project with no technical debt, I simply hope to design a management panel that is as perfect as possible and meets everyone's needs. I would very much like to know your thoughts. Right now, I am working on integrating the Indeed, you are right — this project is not yet mature. But after all, the RustDesk Server Pro project has been under development for several years, while our project is only a few months old. I believe we still have significant room for growth. The reason I publicised the project so early is that we need the support of more developers. On my own, I cannot complete such a complex project. I hope we can work together to advance the project to a fully usable state. Also, the TOTP feature has already been implemented — feel free to give it a try. |
|
Hi @trofen, Sorry for the late reply. I’ve been quite busy recently. Regarding LDAP, I think we should use it only for user authentication and, at most, for checking admin roles (by mapping LDAP groups to local roles). If we want to reuse LDAP groups, we can build a mapping between LDAP groups and local groups (roles). We shouldn’t directly manage or modify users and groups in LDAP. |
|
Is there a way to make only connection possible to users with admin rights logged to the console, I mean, i don't want to go in all the rustdesk client and log them to the console, only admin and IT support needs to connect to conputer, |
|
Hey all, I’ve just merged @yardbirds0’s PR, which adds initial support for user groups. |
Uh oh!
There was an error while loading. Please reload this page.
Hi!
I’m currently working on the unfinished
User Groups/Rolesparts of the admin panel and ran into a design question.At first, I started implementing this according to my own expected workflow, but after looking at the existing UI and data model, I’m not sure I fully understand the original design intent.
Currently, the admin UI already has separate sections for:
rustdesk-api, so I’m not sure I fully understand how this is supposed to work. I’m also not sure why this is called a strategy rather than a policy.In
rustdesk-api, every user inherited access from a single group, and that feels too limited. A more flexible model is needed for administration.So before going further, I’d like to clarify the intended model.
Questions
So what exactly should be in
Roles? What should this entity be responsible for?Where should the user-to-group linking happen? It feels logical to assign the groups a user belongs to in the user management interface.
How do strategies work? To whom and where are they applied, and how are they related to Device Groups? Also, honestly, do we really need Device Groups?
Ideally, there should be a many-to-many table where:
As a result, the effective access permission should be calculated and used to determine how the web server shares data with the user.
In the future, it would be interesting to fork
hbbsand add ACL there, similar to RustDesk 1.5.0.P.S.
The project is interesting, even though I’m a Go fan. The only disappointing thing is that the project still feels immature and too little has been implemented so far.
If we find the courage to bring the project to a fully working MVP in the near future, I’d be happy to try it in production.
I have needed fine-grained permissions, password policies for users, and TOTP for a long time.
All reactions