如何在默认的ASP .NET MVC项目中自定义身份验证?

时间:2018-09-30 04:39:13

标签: c# asp.net-mvc-4 authentication active-directory localdb

作为ASP .NET和MVC的新手,我在这里和那里已经学习了一些,试图了解标准MVC模板的结构。目前,我在理解单个用户帐户配置的身份验证工作时遇到了麻烦。通过某种方式,通过构建和运行初始化的模板并通过加载的网站注册帐户,它能够自动创建和使用本地SQL数据库,但是我似乎无法弄清楚这些代码的来源。我认为这是使用 web.config 的部分内置功能,但是我找不到该数据库的SQL查询代码,因此如果不编写一个同一用户表的单独的SQL读取器/写入器类?

总体而言,我真正想做的是将默认的设计和配置保留在项目中,并对其进行修改以使用自定义身份验证方法。特别是,我试图使其仅针对Active Directory进行身份验证。我想从Active Directory中检索用户所属的某些信息和组。根据用户组,应用程序将提供对某些功能的特定访问权限。因此,它与使用Windows身份验证不同。我想让这种身份验证在外部运行,因为Active Directory的LDAP不在外部公开。因此,我将尝试使用和测试的示例代码如下:

// create a "principal context" - e.g. your domain (could be machine, too)
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "your domain"))
{
      // validate the credentials
      bool isValid = pc.ValidateCredentials(model.Username, model.Password);
}

麻烦的是我不知道在哪里放置这样的代码,因为我什至找不到默认的身份验证发生在哪里。一切似乎都隐藏了。

0 个答案:

没有答案