mvc 4 アプリケーションに単純な AD 認証を実装したいと考えています。web.config ファイルで変更した内容は次のとおりです。
<connectionStrings>
<add name="ADConnectionString" connectionString="LDAP://test.com:636/DC=test,DC=com"/>
</connectionStrings>
...
<membership defaultProvider="ADMembershipProvider">
<providers>
<clear/>
<add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ADConnectionString" attributeMapUsername="sAMAccountName"/>
</providers>
AD 認証を使用しているサービス クラスのメソッドを次に示します。
public bool Authentificate(string userName, string password)
{
var membershipSection = (MembershipSection)WebConfigurationManager.GetSection("system.web/membership");
string defaultProvider = membershipSection.DefaultProvider;
MembershipProvider provider = Membership.Providers[defaultProvider];
return provider != null && provider.ValidateUser(userName, password);
}
しかし、アプリケーションをデバッグすると、「defaultProvider」が「ActiveDirectoryMembershipProvider」ではなく「AspNetSqlMembershipProvider」であり、認証が失敗して次のメッセージが表示されることがわかります。
SQL Server データベースに接続できません。System.Web.Management.SqlServices.GetSqlConnection (サーバーの文字列、ユーザーの文字列、パスワードの文字列、信頼されるブール値、connectionString の文字列) で System.Web.Management.SqlServices.SetupApplicationServices (サーバーの文字列、ユーザーの文字列、パスワードの文字列、信頼されるブール値、文字列) System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile(String fullFileName, String dataDir, String connectionString) の connectionString、String データベース、String dbFileName、SqlFeatures 機能、Boolean インストール)
ここで何が問題なのですか?