c# - AspNetSqlMembershipProvider is used instead of ActiveDirectoryMembershipProvider in mvc 4 application -


i want implement simple ad authentication in mvc 4 application. here changed in web.config file:

<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> 

here method service class using ad authentification:

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); } 

but when debug application see 'defaultprovider' 'aspnetsqlmembershipprovider' instead of 'activedirectorymembershipprovider' , authentication failed message:

unable connect sql server database. @ system.web.management.sqlservices.getsqlconnection(string server, string user, string password, boolean trusted, string connectionstring) @ system.web.management.sqlservices.setupapplicationservices(string server, string user, string password, boolean trusted, string connectionstring, string database, string dbfilename, sqlfeatures features, boolean install) @ system.web.dataaccess.sqlconnectionhelper.createmdffile(string fullfilename, string datadir, string connectionstring)

what's wrong here?

when .net application started, sets domain settings corresponding config file. web apps running on iis, web.condig, executables - app.config renamed executable_name.exe.config. if no such file found - settings machine.config being picked up. important point here assemblies within 1 domain using same settings - associated entry point assembly. , no other settings considered!

in case, though web project has web.config file, entry point presentation project, web.config settings not used in way. easiest fix here define app.config presentation project , have necessary settings (like providers) inside it.


Comments