MVC 中没有登录表单的 Active Directory 身份验证

时间:2021-02-15 10:21:35

标签: asp.net-mvc active-directory forms-authentication windows-authentication

我想向 Active Directory 验证我的用户,但没有任何登录表单和按钮点击。

如果登录到机器的用户属于 Active Directory,我只想打开我的默认页面。

在这里,我使用了表单身份验证。

谁能给我实现同样目标的想法? 您的建议将不胜感激....谢谢

1 个答案:

答案 0 :(得分:0)

在 asp.net mvc 中,您可以使用 Identity 2 来验证您的用户。 要添加身份 2,您应该打开工具 > NuGet 包管理器 > 包管理器控制台。 然后在其中编写以下代码:

Install-Package Microsoft.AspNet.Identity.Samples -Pre

它会添加一些类和样本,您可以在视图中删除样本。

在下面的示例中,您可以在控制器顶部定义属性以帮助您登录:

private ApplicationSignInManager _signInManager;

    public ApplicationSignInManager SignInManager
    {
        get
        {
            return _signInManager ?? HttpContext.GetOwinContext().Get<ApplicationSignInManager>();
        }
        private set { _signInManager = value; }
    }

然后您可以在控制器中的每个位置使用此类(SignInManager.PasswordSignIn(model.Email, model.Password, model.RememberMe); 登录。在此类中,第三个参数是一个 bool,用于显示您是否要继续登录。

用户登录到您的页面后,在您希望限制为经过身份验证的用户的页面中,您可以向控制器添加 [Authorize] 注释,然后只有经过身份验证的用户才能访问。 例如:

[Authorize]
public ActionResult Index()
{
  return View();
} 

如有遗漏,请告诉我。

相关问题