I have two different users on my site, content posters and content reviewers. The posters should only be able to view their own content, but reviewers need to be able to see everyone's content. I tried to set this up using permissions, but permissions only gave me control over editing and deleting (not viewing, except for the over-arching "View published content" which seems to refer to everything.) How do I accomplish my goal? I am using views to present the users with different pages of content... Could I effectively limit content viewing by using views? How can I prevent an unauthorized person from visiting a views page?
3 Answers
Node view Permissions fits perfectly for your needs and it is lightweight too. Its a drupal 7 module.
Node view permissions module enables permissions "View own content" and "View any content" for each content type on permissions page as it was on Drupal 6. It's as simple as that.
It's implemented in a non-conflict way, so you can use it with any other permissions related module.
-
Just what I needed. Had the exact problem, and this worked. Commented Oct 10, 2014 at 15:14
You shoukld try the Workflow module. This module is intended to solve problems like the one you have, that's helping with publishing workflows (or other kind of workflows).
This module allows you to create arbitrary Workflows, and assign them to Entities.
Workflows are made up of workflow states. Transitions between states can be allowed per role. For example, a workflow with the states Draft, Review, and Published could be assigned to the Story node type. Only users with role 'chief editor' can set Stories to the published state. You can set up the Workflow to alter states from form, page, comment and a special workflow tab.
Workflow module as said above is the best option. If that doesn't do what you want you could maybe try https://drupal.org/project/field_permissions which if I remember off the top of my head has an option for setting permissions for the whole node per content type. It allows you to set some people to be able to view and others to view own etc.
That's another option if the Workflow module is too 'heavy'. However the better option is definitely the Workflow module as mentioned above.