Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

How to set security permissions by Page Type?


4 Posts   1373 Views


15 February 2010 at 8:52pm Community Member, 23 Posts


I have created a new page type and its associated data model. Now I want to create a user which should have access to add/edit this particular page type only.

Is this possible in SS? How do I go about it?

Thanks You.


15 February 2010 at 9:26pm Community Member, 712 Posts

See [url][/url]


16 February 2010 at 12:14am Community Member, 23 Posts

Thank you for the response. I have already gone through that particular page but it left quite confused.

Please see my code below. I added new permission and it shows up fine in the CMS when I try to add a new role. The problem is that if I allow just "Add/edit/delete Jobs" to a new role, that user is unable to access the CMS admin panel.

class Vacancies extends Page {

static $db = array();
static $has_many = array('Jobs' => 'Job');
   static $allowed_children = array('none');
   static $can_be_root = true;

function getCMSFields() {
$fields = parent::getCMSFields();
$jobsTable = new ComplexTableField($this, 'Jobs', 'Job');
$fields->addFieldToTab("Root.Content.Jobs", $jobsTable);

return $fields;

class Vacancies_Controller extends Page_Controller {
   function init() {
if(!Permission::check("JOB_EDITOR")) Security::permissionFailure();

function ActiveJobs() {
return DataObject::get("Job", "ExpiryDate > '".date('Y-m-d')."'");

function providePermissions(){
      return array(
         "JOB_EDITOR" => "Add/edit/delete Jobs"


24 August 2011 at 8:01pm Community Member, 60 Posts

Did you get anywhere with this?? I want to setup a user to access one page type or a particular page and children when setting up user group it doesn't allow to admin area. I am also confused as to the permissions setup.