PostgreSQL 和 dev.nauck.AspSQLProvider 的 ASP.NET 成员资格

标签 asp.net postgresql asp.net-membership membership-provider npgsql

我正在尝试使用 Daniel Nauck 创建的 PostgreSQL Membership provider http://dev.nauck-it.de/projects/aspsqlprovider 对于 ASP.NET Web 应用程序 (C#) 并按照

处给出的配置说明进行操作

http://dev.nauck-it.de/projects/1/wiki/Install?version=11

我已经安装了 NpgSQL 和带有 nuget 的成员提供程序:

Install-Package Npgsql
Install-Package Nauck.PostgreSQLProvider

当访问项目配置网站上的“安全”选项卡时,出现以下错误:

exepath must be specified when not running inside a stand alone exe

我将给定的 SQL 成员表添加到我的 postgres 数据库并指定了连接字符串,以及 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>

最佳答案

您可能想尝试版本 2.0.0供应商的。它包含 ASP.NET 4+ 中托管环境检测的错误修复

您可以在 NuGet 上获取最新版本.

文档可在 project wiki 上找到.

关于PostgreSQL 和 dev.nauck.AspSQLProvider 的 ASP.NET 成员资格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14126772/

相关文章:

c# - ASP.NET:在 if 语句中使用 Eval

postgresql - 从 PostgreSQL 导出的编码问题

c# - Membership.ValidateUser 方法如何访问数据库?

ASP.NET 安全角色和权限

asp.net-mvc-3 - ASP.NET MVC 3 : How to get User's Role in a Controller Method?

javascript - 将字符串传递给 AJAX/Json

c# - 调用方法如何并行运行

c# - 如何使用隐藏的 C# 代码更改 ASP.NET 表中单元格的值

c# - 插入、子查询、值

ruby-on-rails - follower_id 的 rails 作用域(has_many through source)