我已经设置了一个基本应用程序,它使用ActiveDirectoryMembershipProvider与我们的AD通信并验证用户身份。这是一个简单的登录页面,带有控件,可以将我重定向到一个简单的输出,登录谁和相关的票证信息,这很好用,当我在我的开发机器上测试它时它就可以工作。
但是,如果我将此部署到虚拟目录下的Web服务器,它就会拒绝指示甚至确认票证是有效票证,它只是刷新回登录页面。如果我输入垃圾凭证,它实际上会识别出这个并告诉我有错误,但如果我成功登录它只是刷新页面。当我手动进入信息页面时,它将我视为未经身份验证的用户!
这是最令人费解的!任何帮助将不胜感激!
由于
乔恩
按要求提供Web.config的一部分
<connectionStrings>
<add name="ActiveDirectory" connectionString="LDAP://x.x.x.117:389/OU=Users,DC=BC,DC=Local"/>
</connectionStrings>
<membership defaultProvider="ADMembershipProvider">
<providers>
<add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ActiveDirectory" connectionUsername="xxxxxx" connectionPassword="xxxxxxx" attributeMapUsername="sAMAccountName" applicationName="/"/>
</providers>
</membership>
答案 0 :(得分:0)
您是否在web.config文件中启用了模拟?我认为有些问题会导致会员提供商需要假冒才能正常运作。
答案 1 :(得分:0)
<forms slidingExpiration="true" **path="/Search"** name=".ADAuthCookie" timeout="10"/>
包含'path'属性!!!!
也很有帮助乔恩