I’m new to Piranha CMS and just trying to get my head around it. I’m using the MVC implementation and I need to do the following:

  1. I need to extend the User with a property that stores an account number.
  2. I need a page that is only accessible once the user logs in
  3. On this page, I need to call a REST API on another server, using the account number a parameter, to retrieve a list of documents that the user has stored on this server.
  4. When the user clicks the document, it will be downloaded as a PDF using the REST API once again

I just need general guidance on how to do this. How do I store the account number against the user (and manage this) and do I need to create a new Region that will show the list of documents from the remote server. Is there an example of creating a new Region anywhere and maybe returning a list from SQL that I can adapt?

Any help gratefully received.

Thanks in advance


  1. The easiest way is to implement an extension with your custom fields that you attach to the user where you store this information.

  2. When editing a page, go in under “settings” and select which groups should have access to your page. For this purpose I suggest creating a new group for site users that are not admins.

  3. This should be easily implemented in either the controller or model for your page. When the user is logged in “User.Identity.Name” is the user id. Get the user, load the extensions & use the account number.

  4. See number three.