User access control shelves, book, pages to be viewed by a group of users #2103

Closed
opened 2026-02-05 02:54:48 +03:00 by OVERLORD · 4 comments
Owner

Originally created by @deveasywork on GitHub (Feb 17, 2021).

Describe the feature you'd like
I want to allow users to login with "groups". They can view only books that are created by themselves or users from the same "group" only. Similar to access control in Google Drive. But I don't need to specifically specify which book can view by who etc. I looking more on control the access by group created

Describe the benefits this feature would bring to BookStack users
Allow department / groups to create documents to be shared among their team only. And not disclose to everyone else.

Additional context
Is there any existing features / workaround that I can use to implement this? I tried using role and limit to "Own" but that's only for post to created myself, I can't view pages from member of my group

Originally created by @deveasywork on GitHub (Feb 17, 2021). **Describe the feature you'd like** I want to allow users to login with "groups". They can view only books that are created by themselves or users from the same "group" only. Similar to access control in Google Drive. But I don't need to specifically specify which book can view by who etc. I looking more on control the access by group created **Describe the benefits this feature would bring to BookStack users** Allow department / groups to create documents to be shared among their team only. And not disclose to everyone else. **Additional context** Is there any existing features / workaround that I can use to implement this? I tried using role and limit to "Own" but that's only for post to created myself, I can't view pages from member of my group
Author
Owner

@ssddanbrown commented on GitHub (Feb 18, 2021):

Hi @deveasywork,

You should be able to limit permission per shelf/book/chapter/page via the "Permissions" option in the actions when viewing one of those items. Book & Chapter permissions will auto-cascade unless overridden. Are you looking for something different?

@ssddanbrown commented on GitHub (Feb 18, 2021): Hi @deveasywork, You should be able to limit permission per shelf/book/chapter/page via the "Permissions" option in the actions when viewing one of those items. Book & Chapter permissions will auto-cascade unless overridden. Are you looking for something different?
Author
Owner

@deveasywork commented on GitHub (Feb 18, 2021):

Hi @ssddanbrown Thanks for replying.

I tried out by playing around with the the permission

To achieve what I want, I tried to group the content of departments ("group") by shelves

If login first time for that dept

  • Create a shelf by dept name
  • Create a role by dept name

Else

  • Assign user to that role of dept

So in main menu, users will only see shelve of his own dept only.

But when create book, I still need to

  • Set custom permission to that role of the dept
  • Add book to dept shelve

Then only will he new book showing up in his "dept" shelves

However, I am doing all the above manually. To automate this, I will have to extend/modify the library code myself right? i.e. adding permission/shelves etc to database programatically when all the above actions are performed.

Thanks!

@deveasywork commented on GitHub (Feb 18, 2021): Hi @ssddanbrown Thanks for replying. I tried out by playing around with the the permission To achieve what I want, I tried to group the content of departments ("group") by shelves If login first time for that dept * Create a shelf by dept name * Create a role by dept name Else * Assign user to that role of dept So in main menu, users will only see shelve of his own dept only. But when create book, I still need to * Set custom permission to that role of the dept * Add book to dept shelve Then only will he new book showing up in his "dept" shelves However, I am doing all the above manually. To automate this, I will have to extend/modify the library code myself right? i.e. adding permission/shelves etc to database programatically when all the above actions are performed. Thanks!
Author
Owner

@ssddanbrown commented on GitHub (Feb 20, 2021):

However, I am doing all the above manually. To automate this, I will have to extend/modify the library code myself right? i.e. adding permission/shelves etc to database programatically when all the above actions are performed.

Yeah. You could automate the books/shelf creations via the API but you'd still need to do the permissions work manually. Additionally, if you create the book from within the shelf, it will automatically be assigned to the shelf. On the shelf, there's an option to copy the permissions to all books within, which may be faster that manually setting the book permissions each time.

It sounds like you generally would want some level of "Group Ownable" permissions but I'm hesitant to expand our permission offerings/complexities any further due to the complications they have in many operations.

@ssddanbrown commented on GitHub (Feb 20, 2021): > However, I am doing all the above manually. To automate this, I will have to extend/modify the library code myself right? i.e. adding permission/shelves etc to database programatically when all the above actions are performed. Yeah. You could automate the books/shelf creations via the API but you'd still need to do the permissions work manually. Additionally, if you create the book from within the shelf, it will automatically be assigned to the shelf. On the shelf, there's an option to copy the permissions to all books within, which may be faster that manually setting the book permissions each time. It sounds like you generally would want some level of "Group Ownable" permissions but I'm hesitant to expand our permission offerings/complexities any further due to the complications they have in many operations.
Author
Owner

@ssddanbrown commented on GitHub (Sep 19, 2021):

Since there's been no further discussion here I'm going to close this.

@ssddanbrown commented on GitHub (Sep 19, 2021): Since there's been no further discussion here I'm going to close this.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#2103