我在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>
尝试阻止导航其他页面而不进行身份验证的任何解决方案? (我可以使用此数据登录,但我无法阻止非身份验证连接)
答案 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" />