I am trying to use the PostgreSQL Membership provider created by Daniel Nauck http://dev.nauck-it.de/projects/aspsqlprovider for an ASP.NET web application (C#) and followed the instructions for configuration given at
http://dev.nauck-it.de/projects/1/wiki/Install?version=11
I have installed NpgSQL and the Membership provider with nuget:
Install-Package Npgsql
Install-Package Nauck.PostgreSQLProvider
When accessing the "Security" tab on the project-configuration-website I get the following error:
exepath must be specified when not running inside a stand alone exe
I added the given SQL membership tables to my postgres database and specified the connection string, as well as the given configuration in the web.config file.
web.config:
<configuration>
<connectionStrings>
<add name="PostgreSQL" connectionString="Server=localhost;Port=5432;Database=mydb;User Id=postgres;Password=mypassword;Encoding=UNICODE;Sslmode=Prefer;Pooling=true;" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<membership defaultProvider="PgMembershipProvider">
<providers>
<clear />
<add name="PgMembershipProvider" type="NauckIT.PostgreSQLProvider.PgMembershipProvider" connectionStringName="PostgreSQL" requiresUniqueEmail="true" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" passwordFormat="Hashed" applicationName="AquilaWeb" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="PgRoleProvider" cacheRolesInCookie="true" cookieName=".AspNetRoles" cookiePath="/" cookieProtection="All" cookieRequireSSL="false" cookieSlidingExpiration="true" createPersistentCookie="false" cookieTimeout="30" maxCachedResults="25">
<providers>
<clear />
<add name="PgRoleProvider" type="NauckIT.PostgreSQLProvider.PgRoleProvider" connectionStringName="PostgreSQL" applicationName="AquilaWeb" />
</providers>
</roleManager>
<profile enabled="true" defaultProvider="PgProfileProvider">
<providers>
<clear />
<add name="PgProfileProvider" type="NauckIT.PostgreSQLProvider.PgProfileProvider" connectionStringName="PostgreSQL" applicationName="AquilaWeb" />
</providers>
<properties>
<add name="FirstName" />
<add name="LastName" />
</properties>
</profile>
<sessionState mode="Custom" customProvider="PgSessionStateStoreProvider">
<providers>
<clear/>
<add name="PgSessionStateStoreProvider" type="NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider" enableExpiredSessionAutoDeletion="true" expiredSessionAutoDeletionInterval="60000" enableSessionExpireCallback="false" connectionStringName="PostgreSQL" applicationName="AquilaWeb" />
</providers>
</sessionState>
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.12.0" newVersion="2.0.12.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
You may want to try version 2.0.0 of the provider. It contains a bugfix the hosted environment detection in ASP.NET 4+
You can grap the latest build on NuGet.
Documentation is available on project wiki.