asp.net-mvc - 在 MVC 中没有登录表单的 Active Directory 身份验证
问题描述
我想向 Active Directory 验证我的用户,但没有任何登录表单和按钮单击。
如果登录到机器的用户属于 Active Directory,我只想打开我的默认页面。
在这里,我使用了表单验证。
谁能给我实现相同目标的想法?您的建议将不胜感激......谢谢
解决方案
在 asp.net mvc 中,您可以使用 Identity 2 来验证您的用户。要添加标识 2,您应该打开Tools > NuGet Package Manager > Package Manager Console。然后在其中编写以下代码:
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();
}
如果有什么遗漏的告诉我。