【问题标题】:Problems with custom membership providers自定义会员提供程序的问题
【发布时间】:2013-09-11 17:38:10
【问题描述】:

我们有一个为我们提供注册类型服务的供应商。我编写了代码来访问他们为我们公开的 Web 服务,以根据他们的用户数据库对用户进行身份验证。我已经在几个一次性应用程序中成功使用了这段代码,滚动了我自己的身份验证层,但我希望能够将它集成到 .net。

所以我使用我现有的代码为 ASP.NET 2.0 编写了自定义成员资格和角色提供程序。

成员资格和角色提供者在同一个 dll 中,编译时没有错误。我将 dll 放入网站的 bin 文件夹中,然后不断收到错误消息,例如“无法加载类型”错误。

我需要知道如何在 Web.Config 文件中连接提供程序,以便 .net 识别 dll,并且提供程序知道使用正确的代码进行身份验证。

我在网上搜索过,找到了很多自定义会员提供程序的示例,但我找不到太多关于 web.config 文件的正确设置的信息。请帮忙!

类声明

namespace vendAuth
{
public class VendMembershipProvider:System.Web.Security.MembershipProvider                             { 

网络配置

 < compilation defaultLanguage="c#" debug="false" batch="false">

     <assemblies>
        <add assembly="MembershipProviderFromScratch,Version=1.0.0.0, culture=neutral, PublicKeyToken=15dd03ae5e78b530" /> 
     </assemblies>
 < /compilation>

 < membership defaultProvider="VendMembershipProvider" userIsOnlineTimeWindow="30">
    <providers>
<clear />
<add name="VendMembershipProvider"                                                                                
     type="VendAuth.VendMembershipProvider, 
     MembershipProviderFromScratch, Version=1.0.0.0, Culture=neutral,  PublicKeyToken=15da13ae5e78b530"
     connectionStringName="someDATA"
     enablePasswordRetrieval="false"
     enablePasswordReset="false"
     requiresQuestionAndAnswer="false"
     requiresUniqueEmail="false"
     passwordFormat="Hashed"
     maxInvalidPasswordAttempts="5"
     minRequiredPasswordLength="7"
     minRequiredNonalphanumericCharacters="1"
     passwordAttemptWindow="10"
     passwordStrengthRegularExpression=""
     applicationName="VendAUTH" 
     AuthConnectionString="Auth"/>

        </providers>
    </membership>

该网站正在运行 asp.net 2.0。我们使用 Umbraco 作为我们的 CMS。

编辑

位于 ~/bin 文件夹中的自定义 DLL 被命名为 MembershipProviderFromScratch.dll。

【问题讨论】:

  • 我没有看到 在您的 web.config 文件中打开标签。
  • @vcs,对不起!实际的 Web.Config 有多个提供者(原始成员资格、Umbraco 成员资格和我们供应商的成员资格)标签在那里,但是当我删除其他提供者时,我必须从代​​码示例中删除它。

标签: c# vb.net asp.net-membership asp.net-2.0 membership-provider


【解决方案1】:

根据你的命名空间,类型应该是这样的 -

<add name="VendMembershipProvider"
     type="VendAuth.VendMembershipProvider, VendAuth"
     connectionStringName="someDATA"
     ... />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    相关资源
    最近更新 更多