mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-08 03:09:39 +03:00
Implement an advisory notice on the shelf permissions page regarding the lack of cascade #2351
Closed
opened 2026-02-05 03:45:54 +03:00 by OVERLORD
·
11 comments
No Branch/Tag Specified
development
further_theme_development
l10n_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#2351
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @tyler351 on GitHub (Aug 7, 2021).
When applying custom permissions to a shelf, using the "copy to books" options works for any existing books in that shelf but those same permissions don't seem to get applied to new books create within that shelf from then on unless you go back and use the button again.
Is this the intended result?
I'm on the latest installation (used the Ubuntu 20.04 script) not 100% on version number but will double check.
@tyler351 commented on GitHub (Aug 7, 2021):
After looking at a couple other threads (https://github.com/BookStackApp/BookStack/issues/2144#issuecomment-841674016 specifically) I see that permissions applied to shelves don't cascade automatically. So I guess In that case I'd like to ask is that possible to add? Or a limitation?
@Thorood commented on GitHub (Aug 20, 2021):
I'd like to comment on @tyler351.
This would be a really nice addition and also resolve a big security loophole.
@ssddanbrown commented on GitHub (Aug 22, 2021):
The lack of cascading permissions is due to the more complex shelf to book relationship, since books can be on multiple shelves. I have not been able to think of an auto-cascade option that wouldn't end up more confusing, or have more side-affects.
@tyler351 commented on GitHub (Aug 22, 2021):
@ssddanbrown
Ooohhhh gotcha. Yeah. That could get interesting haha. Makes total sense and understand the complexity now. Lol
@Thorood commented on GitHub (Aug 23, 2021):
A way to do this simply could be :
When a book is created -> cascade permissions from it's current shelf (at this moment the book have 0 or 1 shelf).
When addind the book to a shelf -> if the permissions are different then add a warning and either blook the addition of take the least permissive permission (but that can be a bit hard to define so the first option can be easier to implement).
@Thorood commented on GitHub (Aug 23, 2021):
@ssddanbrown I personnaly think that if someone use the permission at a Shelf level (instead of account level) it shows a need of "security" around the data so having a simple message explaining that the book is currently inhériting different permission from an other shelf woud not cause confusion.
What do you think ?
@Cave-Johnson commented on GitHub (Aug 23, 2021):
Maybe a solution would be to provide a flag to enable this in the admin panel, defaulting to the current configuration.
Have a button to enable inherited permissions with a warning saying this breaks having books on multiple shelves
Would be more overhead to maintain though
@dani commented on GitHub (Aug 23, 2021):
The current situation is IMHO the most confusing. When I enable public access for some shelves, but restrict others to logged in user, and create a new book in a restricted shelf, I certainly do not expect this new book to be public (this is what happens now, and represent a huge risk). Books being created in a shelf with restricted permissions should inherit those permissions. If I want to include it later in another shelf, I can update the permissions later
@ssddanbrown commented on GitHub (Aug 23, 2021):
Based on these conversations I think we need to do two things:
I don't really want to go down the route of adding different, optional, behaviour which would bring its own scenarios and maintenance burdens.
If there's no major reasonable objections I'll update the title of this issue to focus on (1) above.
@tyler351 commented on GitHub (Aug 24, 2021):
Sounds pretty dang reasonable to me. As nice as it would be to make that a default thing in some situations, knowing upfront that it doesn't happen and getting the option to apply the permissions when it's created seems like a great place to be.
Thanks for your work @ssddanbrown!
@ssddanbrown commented on GitHub (Aug 28, 2021):
Notice added, To be part of the next feature release. Thanks all for your input.