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
Post a Comment