Tutorial Login Default Asp.Net Core MVC V2.1



Asp.Net Core MVC Version 2.1
Tutorial Manual :
1.      Silahkan buat project baru, dengan nama LoginDefaultCore.
2.      Pilih ASP.NET Core 2.1 untuk versi 2.1 dan Checklist Configure for HTTPS, kemudia OK.


3.      Tambahkan Connection String untuk koneksi Database seperti gambar ini pada File appsettings.json


4.      Tambahkan Partial Class pada File “Layout.chtml” seperti berikut


5.      Create File View baru pada Folder Shared dengan nama “_LoginPartial” dan kemudian input Source di bawah dan Save.



@using Microsoft.AspNetCore.Identity

@inject SignInManager<IdentityUser> SignInManager
@inject UserManager<IdentityUser> UserManager

@if (SignInManager.IsSignedIn(User))
{
    <form asp-area="Identity" asp-page="/Account/Logout" asp-route-returnUrl="@Url.Action("Index", "Home", new { area = ""})" method="post" id="logoutForm" class="navbar-right">
        <ul class="nav navbar-nav">
            <li class="dropdown messages-menu">
                <a asp-area="" class="dropdown-toggle" data-toggle="dropdown">
                    <small class="label label-success">4</small><br>
                    <i class="glyphicon glyphicon-envelope"></i>
                </a>
                <ul class="dropdown-menu">
                    <li class="header">You have 4 messages</li>
                    <ul class="menu">
                        <li>
                            <a asp-area="">
                                <div class="pull-left">
                                    <img src="~/images/imgUser/user.jpg" class="img-circle" alt="User Image" align="middle" width="30" height="30">
                                </div>
                                <h4>
                                    Support Team<small><i class="glyphicon glyphicon-eye-open"></i> 5 mins</small>
                                </h4>
                                <p>Why not buy a new awesome theme?</p>
                            </a>
                        </li>
                    </ul>
                    <li class="footer"><a asp-area="">See All Messages</a></li>
                </ul>
            </li>

            <li class="dropdown user user-menu">
                <a asp-area="" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="true">
                    <img src="~/images/imgUser/user.jpg" class="img-circle" alt="User Image" align="middle" width="30" height="30">
                    <span class="hidden-xs"></span>
                </a>
                <ul class="dropdown-menu">
                    <li class="user-header">
                        <img src="~/images/imgUser/user.jpg" class="img-circle" alt="User Image" align="middle" width="30" height="30">
                        <p>
                            <small><a asp-area="Identity" asp-page="/Account/Manage/Index" title="Manage">@UserManager.GetUserName(User)</a></small>
                        </p>
                    </li>
                    <li class="user-body">
                        <div class="user-body">
                            <div class="col-xs-4 text-center">
                                <a asp-area="">Task</a>
                            </div>
                            <div class="col-xs-4 text-center">
                                <a asp-area="">Point</a>
                            </div>
                            <div class="col-xs-4 text-center">
                                <a asp-area="">Score</a>
                            </div>
                        </div>
                    </li>
                    <li class="user-footer">
                        <div class="pull-left">
                            <a asp-area="" class="btn btn-default btn-flat">Profile</a>
                        </div>
                        <div class="pull-right">
                            <a asp-area="Identity" asp-page="/Account/Logout" class="btn btn-default btn-flat">Logout</a>
                        </div>
                    </li>
                </ul>
            </li>
        </ul>
    </form>
}
else
{
    <ul class="nav navbar-nav navbar-right">
        <li><a asp-area="Identity" asp-page="/Account/Register">Register</a></li>
        <li><a asp-area="Identity" asp-page="/Account/Login">Login</a></li>
    </ul>
}

6.      Tambah File “LoginApplicationDbContext.cs” di Folder Model untuk Identity DBContext dan input Source berikut

using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace LoginDefaultCore.Models
{
    public class LoginApplicationDBContext : IdentityDbContext
    {
        public LoginApplicationDBContext(DbContextOptions<LoginApplicationDBContext> _options):base(_options)
        {
        }
    }
}

7.      Tambahkan Source tersebut pada File “Startpup.cs” untuk pengenalan service “LoginApplicationDBContext.cs” dan Connection String ke database

using Microsoft.EntityFrameworkCore;
using Microsoft.AspNetCore.Identity;


dan Source berikut pada Void Service :
            services.AddDefaultIdentity<IdentityUser>().AddEntityFrameworkStores<LoginApplicationDBContext>();

services.AddDbContext<LoginApplicationDBContext>(_options => _options.UseSqlServer(Configuration.GetConnectionString("DefaultConnections")));

dan Source berikut pada Void Configure

app.UseAuthentication();

8.      Silahkan klik Tools => Nuget Package Manager => Package Manager Console, seperti gambar berikut.


Pada Console silahkan input Source dibawah ini untuk Add Migration User.

“add-Migration -Context LoginApplicationDBContext -OutputDir Migrations/LoginDefault ”


Kemudian input “Update-Database” untuk Create New Database di Sql Server dan setelah Done. Silahkan Running Program tersebut. Register User anda dan coba login.

9.      Register User anda seperti berikut dan Login.

Comments