Search code examples
piranha-cms

Evaluating Piranha - couple of questions regarding deployment and authentication


I have an existing, fairly simple MVC5 site that may potentially need CMS functionality in the near future. Piranha seems to fit all of the core requirements I have, most importantly that it can integrate in an unobtrusive fashion. I have spent a few days getting it set up in my site and am really liking it so far but there are a couple of things I am unsure about.

In my current setup I am using Piranha's passive mode, with prefixless permalinks. My plan is to set up a page hierarchy in Piranha that mirrors my site structure and pull the page model in via permalink, then merge the page model into my existing viewmodels so I can start allowing content management.

My questions are:

  1. What would be the recommended deployment approach for keeping the manager site and the MVC site separate? Ideally, I'd like to deploy them as separate sites so that access to the manager site can be behind our firewall, while the MVC "front end" can be anonymously accessible on the internet. If this is the desired scenario, is it best to just have two separate configurations of the same site - one with disableManager=true and one false, and just deploy to two separate IIS sites?
  2. Is it possible to use Windows authentication for the manager site? What would be the best way to set that up?
  3. Assuming windows authentication is an option, what does that mean for the existing forms based user and role management in the manager site?
  4. If I decided to turn off passive mode in the future to allow for the creation of additional pages in the CMS (by content authors), how can I get it to stop conflicting with my existing /home/index action? I tried with passive off and could not figure out how to "mix" the default page provider route with my existing home page route (so that "/" routes to MY /home/index rather than routing through the page provider)

Thanks!


Solution

    1. Your suggestion would definitely work, however when deployed to two different sites you need to use a distributed cache so that entries in the public site are reloaded when updated in the manager. Also you need a distributed media provider so uploaded media is stored in a location both sites can access.

    2. Not at the moment

    3. See above

    4. The simplest way would of course be to create a start page in the cms that routes to your existing home controller. This way the menu management will know where you are located in the structure. If you want to completely bypass the start page the / request is intercepted by a special startpagehandler which you can remove.

    Regards

    Håkan