我正在開發使用C#ASP.NET的MVC2應用程序。在GC端口上使用ActiveDirectyoryMembershipProvider的ldap身份驗證在MVC2應用程序中失敗
在我的應用程序中,我使用ActiveDirectoryMembershipProvider進行用戶身份驗證。以下是我的web.config文件中的代碼片段。
如果我在連接字符串中使用全局編錄端口3268,則會出現錯誤「GC端口上的LDAP連接不支持Active Directory」。我沒有在這個錯誤信息穀歌,並無法找到合適的解決方案。許多人建議使用端口389,有些人建議更改代碼。但我希望能夠使用GC端口讓用戶連接到不同的森林,因爲它更加乾淨。
一些觀察:
- 相同的連接字符串(使用3268端口)可以在我的公司,我的其他應用程序可以正常使用。
- 當我將連接字符串更改爲指向端口389時,它完美工作,即屬於本地域的用戶可以登錄。但來自其他域的用戶不能訪問。
- 我在我的AcconuntModel和AccountController中放置了斷點。連接字符串指向端口3268,Membership.Provider拋出「ConfigurationErrorsException」。
如果有人能幫我解決這個問題,這將是非常有益的。
的web.config:
<add name="ADConnectionString" connectionString="LDAP://myADServer.abc.ad:389/DC=abc,DC=ad" />
<membership defaultProvider="MyADMembershipProvider">
<providers>
<clear />
<add connectionStringName="ADConnectionString" maxInvalidPasswordAttempts="1000" connectionUsername="[email protected]" connectionPassword="password" connectionProtection="None" enableSearchMethods="True" name="MyADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider,System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider,MySql.Web,Version=6.5.4.0,Culture=neutral,PublicKeyToken=c5687fc88969c44d" connectionStringName="MySqlMembershipConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" autogenerateschema="true" />
</providers>
</membership>
<!-- Added for custom provider -->
<roleManager enabled="true" cacheRolesInCookie="true" defaultProvider="DDMS_Custom_RoleProvider">
<providers>
<clear />
<add applicationName="/" connectionStringName="ddms_dataEntities2" name="DDMS_Custom_RoleProvider" type="DDMS_sourcecode.Utilities.DDMS_Custom_RoleProvider, DDMS_sourcecode" />
<add connectionStringName="ApplicationServices" applicationName="/" autogenerateschema="true" name="MySqlRoleProvider" type="MySql.Web.Security.MySQLRoleProvider,MySql.Web,Version=6.5.4.0,Culture=neutral,PublicKeyToken=c5687fc88969c44d" />
</providers>
</roleManager>
特里嗨全局編錄..我不能夠識別您的編輯...你能讓我知道你有什麼變化嗎? – user1819118 2013-02-15 21:54:15
此問題仍然存在。有人可以幫幫我嗎? – user1819118 2013-02-19 00:50:00
有人可以幫我嗎? – user1819118 2013-02-22 23:43:22