Role is a type of Page used for grouping permissions to users.

Any given User will have one or more roles, each with zero or more permissions assigned to it. Note that most public API-level access checking is typically performed from the User rather than the Role(s), as it accounts for the combined roles. Please also see User, Permission and the access related methods on Page.


Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the Role class also inherits all the methods and properties of: Page, WireData and Wire.

Show class?             Show args?        

Common

NameReturnSummary 
Role::addPermission($permission)
boolAdd the given Permission string, id or object. 
Role::hasPermission($permission)
boolDoes this role have the given permission name, id or object? 
Role::id int Numeric page ID of role.  
Role::name string Name of role.  
Role::permissions PageArray PageArray of permissions assigned to Role. 
Role::removePermission($permission)
boolRemove the given permission string, id or object. 

Additional methods and properties

In addition to the methods and properties above, Role also inherits the methods and properties of these classes:

API reference based on ProcessWire core version 3.0.168

Twitter updates

  • There’s a new modules directory on the ProcessWire site now up and running. In this post we’ll cover a few details about what’s changed and what’s new—More
    20 November 2020
  • ProcessWire 3.0.168 core updates — More
    26 October 2020
  • This week a 2nd new module for processing Stripe payments has been added to FormBuilder. Unlike our other Stripe Inputfield, this new one supports 3D Secure (SCA) payments. We’ll take a closer look at it in this post, plus a live demo— More
    16 October 2020

Latest news

  • ProcessWire Weekly #341
    In the 341st issue of ProcessWire Weekly we're going to check out the latest processwire.com blog post, introduce upcoming commercial module called NiftyPasswordsPlus, and check out a brand new site of the week. Read on!
    Weekly.pw / 21 November 2020
  • New ProcessWire modules directory
    There’s a new modules directory on the ProcessWire site now up and running. In this post we’ll cover a few details about what’s changed and what’s new.
    Blog / 20 November 2020
  • Subscribe to weekly ProcessWire news

“I am currently managing a ProcessWire site with 2 million+ pages. It’s admirably fast, and much, much faster than any other CMS we tested.” —Nickie, Web developer