【问题标题】:MVC2 Active Directory AuthenticationMVC2 活动目录身份验证
【发布时间】:2013-09-03 19:27:59
【问题描述】:

我正在尝试将 Active Directory 身份验证添加到多年前构建的帮助台系统中。我们将逐步升级整个系统。我首先创建一个将托管登录的 MVC2 应用程序,然后我的计划是将当前功能引入 MVC,因为我们还添加了新功能。

但是登录是整个事情的基础。我们需要审计,所以我们需要知道谁在系统中。

我已经阅读了文章、其他 stackoverflow 帖子,并遵循了几个 MS 演练的信条。我能够让它作为一个 ASP 网站工作,但是当它是一个 MVC 应用程序时,我似乎无法得到它。 ASP 应用程序需要添加大量的方法,而我读到的所有内容都让 MVC 听起来要简单得多。

这是我的 IIS 设置和我对 web.config 所做的修改:

IIS 身份验证

  • 匿名:已禁用
  • ASP.NET 模拟:已禁用
  • 表单:已启用
  • Windows:已禁用

    ... ...

我不断收到以下错误:

HTTP Error 401.2 - Unauthorized You are not authorized to view this page due to invalid authentication headers.

最终目标是在主页上对用户进行身份验证。如果他们无法通过身份验证,请强制登录。

编辑:启用匿名身份验证

我启用了匿名身份验证以查看是否有任何潜在错误可能是问题的根源。我收到以下错误:

The container specified in the connection string does not exist.

MyADMembershipProvider的定义中发现错误。

<add name="MyADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnectionString" />

我将连接字符串更改为以下内容:

&lt;add name="ADConnectionString" connectionString="LDAP://server.domain.com"/&gt;

这确实成功地重定向到登录页面,但它没有自动对我进行身份验证。当我再次将Anonymous 设置为Disabled 时,我又回到了原来的错误。

我认为我在这里遗漏了一些我没有从我正在阅读的材料中获得的基本知识。

编辑:身份验证根本不起作用

我认为可能值得补充一点,身份验证根本不起作用。MembershipService.ValidateUser 总是返回 false。

【问题讨论】:

    标签: asp.net-mvc security active-directory


    【解决方案1】:

    我认为解决方案是身份验证类型。最初,我使用的是以下内容:

    IIS 身份验证

    • 匿名:已禁用
    • ASP.NET 模拟:已禁用
    • 表单:已启用
    • Windows:已禁用

    在我的Web.config 文件中,我使用了Forms 身份验证。显然对于 Active Directory 身份验证,类型必须是 Windows.

    原文:

    <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" />
    </authentication>
    

    修订:

    <authentication mode="Windows" />
    
    <authorization>
      <deny users="?" />
    </authorization>
    

    我知道这行得通,但由于我是 MVC 新手,我仍然可能会遗漏一些东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-08
      • 1970-01-01
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      相关资源
      最近更新 更多