Mulai menggunakan Azure Active Directory (Proyek MVC ASP.NET)

Artikel ini menyediakan panduan tambahan setelah Anda menambahkan Active Directory ke proyek MVC ASP.NET melalui perintah Project > Connected Services di Visual Studio. Jika Anda belum menambahkan layanan ke proyek, Anda dapat melakukannya kapan saja.

Lihat Apa yang terjadi dengan proyek MVC saya? untuk membuat perubahan proyek ketika menambahkan layanan terhubung.

Membutuhkan autentikasi untuk mengakses pengontrol

Semua pengontrol dalam proyek Anda dilengkapi dengan atribut [Authorize]. Atribut ini mengharuskan pengguna diautentikasi sebelum mengakses pengontrol ini. Untuk mengizinkan pengontrol diakses secara anonim, hapus atribut ini dari pengontrol. Jika Anda ingin mengatur izin pada tingkat yang lebih terperinci, terapkan atribut ke setiap metode yang memerlukan otorisasi alih-alih menerapkannya ke kelas pengontrol.

Menambahkan Kontrol SignIn / SignOut

Untuk menambahkan kontrol SignIn/SignOut ke tampilan, Anda bisa menggunakan tampilan parsial _LoginPartial.cshtml untuk menambahkan fungsionalitas ke salah satu tampilan Anda. Berikut adalah contoh fungsionalitas yang ditambahkan ke tampilan _Layout.cshtml standar. (Perhatikan elemen terakhir div dengan class navbar-collapse):

<!DOCTYPE html>
 <html>
 <head>
     <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - My ASP.NET Application</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
</head>
<body>
    <div class="navbar navbar-inverse navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                @Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
            </div>
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li>@Html.ActionLink("Home", "Index", "Home")</li>
                    <li>@Html.ActionLink("About", "About", "Home")</li>
                    <li>@Html.ActionLink("Contact", "Contact", "Home")</li>
                </ul>
                @Html.Partial("_LoginPartial")
            </div>
        </div>
    </div>
    <div class="container body-content">
        @RenderBody() 
        <hr />
        <footer>
            <p>&copy; @DateTime.Now.Year - My ASP.NET Application</p>
        </footer>
    </div>
    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/bootstrap")
    @RenderSection("scripts", required: false)
</body>
</html>

Langkah berikutnya