开始使用 Azure Active Directory 和 Visual Studio 连接服务(MVC 项目)

访问控制器需要身份验证

项目中的所有控制器均带有 Authorize 属性。 此属性要求用户先进行身份验证,才能访问这些控制器。 若要允许匿名访问控制器,请从控制器删除此属性。 如果想要更详细地设置这些权限,请将该属性应用到需要身份验证的每个方法,而不是将它应用到控制器类。

添加 SignIn/SignOut 控件

要将 SignIn/SignOut 控件添加到视图,可使用 _LoginPartial.cshtml 分部视图将该功能添加到某个视图。 下面是已添加到标准 _Layout.cshtml 视图的功能示例。 (注意带有 navbar-collapse 类的 div 中的最后一个元素):

    <!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>

后续步骤