ASP.NET 4.5 C#Active Directory访问被拒绝

时间:2016-05-03 12:00:49

标签: c# asp.net ldap authorization login-control

我在ASP.NET C#4.5中使用它来尝试使用LDAP登录 如果我尝试使用它,我什么都不能访问(对于拒绝用户=?)

<authentication mode="Forms">
  <forms name=".ASPXAUTH" loginUrl="Login.aspx" defaultUrl="Default.aspx" protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true" cookieless="UseDeviceProfile" domain="" />
</authentication>
<authorization>
  <deny users="?"/>
  <allow users="*" />
</authorization>
<membership defaultProvider="ADConnection">
  <providers>
    <add name="ADConnection" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
          connectionProtection="Secure" connectionStringName="ADConnection" connectionUsername="cpdprt01" connectionPassword="prt2016" attributeMapUsername="sAMAccountName"
          enableSearchMethods="false"/>
  </providers>
</membership>

尝试阻止导航其他页面而不进行身份验证的任何解决方案? (我可以使用此数据登录,但我无法阻止非身份验证连接)

1 个答案:

答案 0 :(得分:0)

我仍然不明白问题是什么,但我会解释它应该如何运作,也许这会有所帮助。

?表示匿名用户。

*意味着每个人。

所以<deny users="?"/>意味着它将禁止访问匿名(未经身份验证的)用户。

但是,这不适用于您在loginUrl标记中指定为<forms>的网页。任何未经身份验证的用户都可以访问该页面,因此他们可以登录。

如果没有重定向到您的登录页面,请尝试将applicationName添加到您的提供商:

<add name="ADConnection" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
      connectionProtection="Secure" connectionStringName="ADConnection" connectionUsername="cpdprt01" connectionPassword="prt2016" attributeMapUsername="sAMAccountName"
      enableSearchMethods="false" applicationName="Something" />