Permissions Feature Requests #192

Closed
opened 2026-02-04 17:34:05 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @pinglanyue on GitHub (Oct 31, 2016).

In settings/roles page,can add 3 other permissions:

1.Lock : If locked,can't edit and delete (until unlock it).
2. Delete Forever and Delete:If DELETE a book,viewer can't see it,but didn't delete it from database,admin can recovery/reopen it.But if Delete Forever (only admin or settting roles ),the book will delete from database.(If a book was locked ,can't delete and "forever delete".)
3. Except the own and all permissions setting,can add a group setting.(Also should add a 'setting/group' page to set/control group.Or 'settings/roles' can have admin,editor,group,viewer by default setting )

Originally created by @pinglanyue on GitHub (Oct 31, 2016). In settings/roles page,can add 3 other permissions: 1.Lock : If locked,can't edit and delete (until unlock it). 2. Delete Forever and Delete:If **DELETE** a book,viewer can't see it,but didn't delete it from database,admin can recovery/reopen it.But if **Delete Forever** (only admin or settting roles ),the book will delete from database.(If a book was locked ,can't delete and "forever delete".) **3.** Except the _own_ and _all_ permissions setting,can add a _group_ setting.(Also should add a 'setting/group' page to set/control group.Or 'settings/roles' can have admin,editor,group,viewer by default setting )
Author
Owner

@pinglanyue commented on GitHub (Nov 15, 2016):

Hi,@ssddanbrown .I use 0.13 and see new permission control.Consider current open issues about permissions:
#112
#299
#299

I have a idea about the permissions setting:

Now role setting

Name Email UserRoles
Admin ** Admin
Guest ** Public
Roles page:
RoleName Users(count)
Admin
Editor
Viewer
Public

Use Group

Users page:

UserName Email Roles
Admin1 ** Admin
Editor1 ** Editor
Editor2 ** Editor
Guest ** Public
UserOwn ** Individual
User1 ** GroupSuperAdmin
User2 ** GroupSuperAdmin
User3 ** (no role)
UserA ** null
UserB ** null
UserC ** null
UserD ** null

Individual: Own setting just here,user sign up have no role ,Individual role user can create book,and make a book private or public.
Group:later ~

Roles page:
Admin
Editor
GroupSuperAdmin
Group
Individual
Public
....(custom setting)

Group's role permissions(only Admin and GroupSuperAdmin can setting):
GroupAdmin
GroupEditor
GroupViewer(default)
no other role setting

Groups page:

GroupsName GroupSuperAdmin GroupAdmin GroupEditor GroupUsers(count)
GroupA User1 User1 UserA 3(User1,UserA,UserB)
GroupB User2 User2 UserA,UserB 4(User2,UserA,UserB,UserC)
GruopC User1 User1,User3 null 3(User1,User3,UserC)

User:Group=>N:N
(Admin/GroupSuperAdmin can create a group.One group only have one GroupSuperAdmin,but can have many GroupAdmin.GroupAdmin can't create book,but can manage all other thing.)

Example:

User1 create GroupA and GroupC。
Add user and setting user's pressions:UserA is GroupA's editor,can User3 is Group's admin.
Create a book/project named Book1,so this book can setting this permissions:Public(everyone can view,default setting)or Group(only selected group's user can see)。chapter and page 's permisson setting is inherit book permisson's setting.but also do this special thing:Book1 have Chapter1 and Chapter2,in Chapter permission setting,you can select by role or by group.ex:only want to GroupA manage Chapter1's content and GroupB manage Chapter2。
another case : Book2 is GroupA 's private book ,user can join GroupA to see it.Different group can make own project book.music group,movie group etc...if have a group setting,is onvenient on these scene.

Create a group is easy to manage content control.And create more and more custom role to control will became more and more diffculte.In some case ,Like javabook only who like java can see,
Also can make role control group,group control user.Admin is admingroup,editor is editorgroud,and single use alos can meaning only a user in a group...

@pinglanyue commented on GitHub (Nov 15, 2016): Hi,@ssddanbrown .I use 0.13 and see new permission control.Consider current open issues about permissions: [#112](https://github.com/BookStackApp/BookStack/issues/112) [#299](https://github.com/BookStackApp/BookStack/issues/229) [#299](https://github.com/BookStackApp/BookStack/issues/235) I have a idea about the permissions setting: **Now role setting** | Name | Email | UserRoles | | --- | --- | --- | | Admin | ** | Admin | | Guest | ** | Public | | Roles page: | | | --- | --- | | RoleName | Users(count) | | Admin | | | Editor | | | Viewer | | | Public | | # **Use Group** **Users page:** | UserName | Email | Roles | | --- | --- | --- | | Admin1 | ** | Admin | | Editor1 | ** | Editor | | Editor2 | ** | Editor | | Guest | ** | Public | | UserOwn | ** | **Individual** | | | | | | User1 | ** | **GroupSuperAdmin** | | User2 | ** | GroupSuperAdmin | | User3 | ** | (no role) | | | | | | UserA | ** | null | | UserB | ** | null | | UserC | ** | null | | UserD | ** | null | Individual: Own setting just here,user sign up have no role ,Individual role user can create book,and make a book private or public. Group:later ~ **Roles page:** Admin Editor GroupSuperAdmin Group Individual Public ....(custom setting) **Group's role permissions(only Admin and GroupSuperAdmin can setting):** GroupAdmin GroupEditor GroupViewer(default) no other role setting **Groups page:** | GroupsName | GroupSuperAdmin | GroupAdmin | GroupEditor | GroupUsers(count) | | --- | --- | --- | --- | --- | | GroupA | User1 | User1 | UserA | 3(User1,UserA,UserB) | | GroupB | User2 | User2 | UserA,UserB | 4(User2,UserA,UserB,UserC) | | GruopC | User1 | User1,User3 | null | 3(User1,User3,UserC) | User:Group=>N:N (Admin/GroupSuperAdmin can create a group.One group only have one GroupSuperAdmin,but can have many GroupAdmin.GroupAdmin can't create book,but can manage all other thing.) ## Example: User1 create GroupA and GroupC。 Add user and setting user's pressions:UserA is GroupA's editor,can User3 is Group's admin. Create a book/project named Book1,so this book can setting this permissions:Public(everyone can view,default setting)or Group(only selected group's user can see)。chapter and page 's permisson setting is inherit book permisson's setting.but also do this special thing:Book1 have Chapter1 and Chapter2,in Chapter permission setting,you can select by role or by group.ex:only want to GroupA manage Chapter1's content and GroupB manage Chapter2。 another case : Book2 is GroupA 's private book ,user can join GroupA to see it.Different group can make own project book.music group,movie group etc...if have a group setting,is onvenient on these scene. Create a group is easy to manage content control.And create more and more custom role to control will became more and more diffculte.In some case ,Like javabook only who like java can see, Also can make role control group,group control user.Admin is admingroup,editor is editorgroud,and single use alos can meaning only a user in a group...
Author
Owner

@ssddanbrown commented on GitHub (Aug 4, 2018):

I'll be honest, I've never responded to this since I've never really understood the request here. After re-reading I still don't really understand. I appreciate the effort you've gone to here though.
This may even be solved with the good amount of permission system changes since this original request.

If you still require change in the permission system please open a new request with an example that's as simple as possible. Thanks.

@ssddanbrown commented on GitHub (Aug 4, 2018): I'll be honest, I've never responded to this since I've never really understood the request here. After re-reading I still don't really understand. I appreciate the effort you've gone to here though. This may even be solved with the good amount of permission system changes since this original request. If you still require change in the permission system please open a new request with an example that's as simple as possible. Thanks.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#192