Core Mvc Login Page

ASP.NET Core MVC is a powerful framework for building web applications. One common feature that almost every web application needs is a login page. In this article, I will guide you through the process of creating an ASP.NET Core MVC login page, while adding my personal touches and commentary along the way.

Getting Started

Before we dive into the specifics of creating a login page, let’s make sure we have everything we need to get started. First, you’ll need to have ASP.NET Core MVC installed on your machine. If you haven’t done so already, head over to the official ASP.NET Core website and follow the instructions to install it.

Once you have ASP.NET Core MVC installed, you’ll need to create a new project. Open up your favorite Integrated Development Environment (IDE), and create a new ASP.NET Core MVC project. You can name it whatever you like, but for the purpose of this article, I’ll name it “LoginApp”.

Creating the Login Page

Now that we have our project set up, it’s time to create the login page. In ASP.NET Core MVC, views are used to render the user interface. To create a new view for our login page, right-click on the “Views” folder in your project, select “Add” and then “View”. Name the view “Login” and make sure to choose the appropriate model class, which we’ll create shortly.

Once the view is created, open it up and let’s start designing the login page. As an added personal touch, I like to use a clean and modern design for my login pages. I usually start with a simple form containing two input fields: one for the username and one for the password.

<input type="text" name="username" placeholder="Username"></input>
<input type="password" name="password" placeholder="Password"></input>
<input type="submit" value="Login"></input>

Of course, this is just the basic structure of the login form. Feel free to add your own styling and additional features as per your requirements and preferences.

Handling User Authentication

Now that we have the login page set up, we need to handle user authentication. ASP.NET Core MVC provides built-in support for user authentication using the Identity framework. To add authentication to our project, open the “Startup.cs” file and configure the application’s services by adding the following code inside the ConfigureServices method:

services.AddAuthentication(options =>
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;

This code configures the application to use cookie-based authentication, which is the most common way to handle authentication in web applications.

Next, we need to handle the form submission and authenticate the user. Open the “Login” action method in the appropriate controller, and add the following code:

public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)
if (ModelState.IsValid)
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);

if (result.Succeeded)
return RedirectToLocal(returnUrl);

ModelState.AddModelError(string.Empty, "Invalid login attempt.");

return View(model);

Make sure to replace “LoginViewModel” with the appropriate model class that represents the data submitted by the login form. Also, make sure to inject the necessary services, such as the SignInManager and the UserManager, into your controller.


Creating a login page in ASP.NET Core MVC is a fundamental step in building a secure web application. In this article, we covered the basics of creating a login page, handling user authentication, and adding our personal touches along the way. Remember, user authentication is a critical aspect of any web application, so make sure to follow best practices and stay up to date with the latest security standards.

Now that you have an understanding of how to create a login page in ASP.NET Core MVC, it’s time to start building your own secure web applications. Happy coding!