Ovidiu Gheorghies wrote:
Hello,
I would like to ask if it is possible to give a user the rights to view
and edit a page, and prevent that user from viewing and changing the
access rights of that page.
My approach was:
- In the "Space Rights" I disabled Admin rights for TestUser, for the
space "Main"
- In the "Main" space, I created a TestPage on which TestUser has the
rights to view and edit
However, when TestUser edits TestPage, he can also view the page rights
and modify them. Can this be disabled?
Regards,
Ovidiu
Hello,
The usual approach regarding rights is:
- Rights are set at the global and space level. Although it is possible
to define rights per page, it is less common to do so.
- In the space or global preferences, the administrator defines rights
for all the pages in that space/wiki.
- The non-administrators are prevented from further editing the space
rights by defining restricting rights on the space preferences page.
This is done by editing the page access rights for <Space>.WebPreferences
Although now a user can alter the rights for one page, not all the
rights can be granted/restricted on the page level. Administration,
programming and registration rights can only be granted/blocked
globally. This means that the worse a user can do is revoke other'
view/edit rights for one page.
However, with a little hacking, the platform code can be changed to:
- treat rights object differently, so that only users with
administration rights can change the rights (needs a deeper knowledge of
how the platform works),
or
- completely ignore page access rights, except for the space preferences
page (a bit simpler than the previous to implement, but looses some
granularity). This can even be done in a pluggable XWikiRightService
implementation as an alternative to the default one.
--
Sergiu Dumitriu
http://purl.org/net/sergiu/