---
title: User registration and authentication
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

Kentico provides various options that you can use when setting up registration and authentication on your websites.

**MVC** – available for live sites built using the [MVC development model](https://docs.kentico.com/k12sp/developing-websites/mvc-development-overview.md).

**PORTAL ENGINE** – available for live sites built using the [Portal Engine development model](https://docs.kentico.com/k12sp/developing-websites/portal-engine-development-overview.md).

**ADMINISTRATION** – available for the Kentico administration application.

### [ASP.NET Identity authentication](https://docs.kentico.com/k12sp/managing-users/user-registration-and-authentication/integrating-kentico-membership.md) **MVC**

For the MVC live site, Kentico provides an integration API based on [ASP.NET Identity](http://www.asp.net/identity) and the [OWIN](http://owin.org/) standard.

The site's developers need to implement actions that allow visitors to sign in and out of the website with Kentico [user accounts](https://docs.kentico.com/k12sp/managing-users/user-management.md).

### [Forms authentication ](https://docs.kentico.com/k12sp/managing-users/user-registration-and-authentication/configuring-forms-authentication.md) **PORTAL ENGINE** **ADMINISTRATION**

Forms authenticationstores user names and passwords in the database and requires users to register on your site before they can sign in.

### [Multi-factor authentication](https://docs.kentico.com/k12sp/managing-users/user-registration-and-authentication/configuring-multi-factor-authentication.md) **PORTAL ENGINE** **ADMINISTRATION**

Multi-factor authentication uses a combination of forms authentication and one other security factor. For example, a passcode generated by a mobile application or sent by SMS, email, etc.

### [Windows Active Directory](https://docs.kentico.com/k12sp/managing-users/user-registration-and-authentication/configuring-windows-ad-authentication.md) **PORTAL ENGINE** **ADMINISTRATION**

The Windows AD authentication gets user identity from the network credentials and automatically creates a corresponding user in the database, including the user’s roles (if they exist in the Kentico database). Users are not required to enter their user names and passwords when signing in to Kentico.

### Third-party authentication services **MVC** **PORTAL ENGINE**

Third-party authentication services, such as Facebook, LinkedIn, or OpenID, can provide an alternative way for users to sign in and register on your site.

For more information, see:

- [External authentication on MVC sites](https://docs.kentico.com/k12sp/managing-users/user-registration-and-authentication/external-authentication-on-mvc-sites.md)
- [Configuring third-party authentication services](https://docs.kentico.com/k12sp/managing-users/user-registration-and-authentication/configuring-third-party-authentication-services.md) (Portal Engine sites)

### Custom external authentication **PORTAL ENGINE** **ADMINISTRATION**

If you want to retrieve user and role information from an external source, such as a custom database, you need to write a custom authentication provider. The provider must ensure the submitted user credentials are checked against an external user profile or authentication source. If the user is successfully authenticated, a corresponding user account is automatically created/updated in the Kentico database.

You can integrate a custom authentication provider with Kentico via [system security events](https://docs.kentico.com/k12sp/custom-development/handling-global-events/handling-custom-external-authentication.md).
