If you need to integrate some existing ASP.NET application with a Kentico CMS website, there are several issues you need to consider. This chapter contains a summary of this topic, if you need more details or help with some particular issues, please contact Kentico support.
Location of CMS and your application
There are three ways how you can organize the CMS web project and your application web project:
1. Mixing both together
It makes sense to mix both applications into a single project if you wish to share functionality, content, security information and session or application variables between the CMS and your application. The easiest way is to use the Kentico CMS web project, as the main project since it's already correctly configured for the CMS, and add your own ASPX pages and other files to this project.
If you need to display your own ASPX pages inside the context of the website, you can simply register them as page templates and then create new pages based on these page templates in the standard website navigation (in the content tree). You will also need to modify your ASPX pages so that they use the master page (.master file) of the Kentico CMS website.
If you wish to use a website built using the Kentico CMS portal engine development model, please also read the Combining ASPX templates and portal engine templates topic.
2. Having the CMS in the root and your application in a sub-folder
If your application can or needs to run separately from the CMS and you want the CMS to manage the main website, you can place the Kentico CMS web project in the root of the website and your application into a sub-folder. You will need to create a virtual directory for the sub-folder so that your application runs correctly.
3. Having your application in the root and the CMS in a sub-folder
If your application can or needs to run separately from the CMS and your application is the main part of the website and you wish to use the CMS only for some sub-section of the website where you publish the content, you need to place the CMS into a sub-folder and create a virtual directory for it.
Interaction between the CMS and your application
If you need to include your application inside the website (front-end), you can do so either through ASPX pages (see paragraph Mixing both together above) or you need to create ASCX user controls that you place into the CMS website.
If you need to build an application that will interact with the CMS system, but will mostly provide back-end user interface, you can create a custom module as described in the Custom modules topic.
Sharing security information between the CMS and your application (single-sign-on)
If you wish to use single-sign-on for both your application and the CMS, you need to configure your environment as described in the Single sign-on topic. If you wish to use a single system of permissions (authorization), you can leverage the permission system for custom modules as described in the Custom modules topic.