gpt4 book ai didi

asp.net - 如何部署 ASP.net 自定义 MembershipProvider?

转载 作者:行者123 更新时间:2023-12-02 14:34:16 24 4
gpt4 key购买 nike

我编写了一个自定义 MembershipProvider,它使用自定义数据库架构来存储成员,但我在弄清楚如何部署该提供程序时遇到了困难。我的目标服务器正在运行 IIS7,并且我能够导航到用于添加 .NET 用户提供程序的对话框,但它不允许我选择包含提供程序和类的程序集,而是提供了一个带有几个 MS 书面提供商。

我是否需要将程序集放在特定位置以便 IIS 发现我的 MembershipProvider 类?如果是这样,.dll 需要去哪里?否则,如何告诉 ASP.Net 使用我的 MembershipProvider?我见过的每个示例都只是引用完全限定的类名,但没有提及需要如何部署该文件。

最佳答案

如果您查看应用程序的 web.config 文件,您应该有一个名为 system.web 的部分。其中有一个包含提供者列表的成员资格元素。您应该能够添加您的提供商并在那里设置默认提供商。一旦您的成员(member)提供程序以这种方式注册,您应该也能够从 IIS 选择它作为该应用程序的默认提供程序。

<system.web>
...
<membership defaultProvider="MyMembershipProvider"
userIsOnlineTimeWindow="15">
<providers>
<add name="MyMembershipProvider"
type="Common.Auth.MyMembershipProvider, Common"
connectionStringName="MyAuthDBConnectionString"
enablePasswordRetrieval="true"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
writeExceptionsToEventLog="false" />
</providers>
</membership>
...
</system.web>

providers 元素允许您注册多个提供商以供选择。另一个功能是您可以清除在计算机上的其他配置文件中注册的成员资格提供程序。这可以减少以后配置应用程序时出错的可能性。为此,请在列表中的第一个成员资格提供者( 元素)之前添加 元素。

<system.web>
...
<membership defaultProvider="MembershipProvider1">
<providers>
<clear />
<add name="MembershipProvider1" ... />
<add name="MembershipProvider2" ... />
</providers>
</membership>
...
</system.web>

如果您想仅使用 IIS 管理器向多个 Web 应用程序注册同一提供程序,则需要将程序集放入 GAC 中,并将提供程序添加到其中一个计算机配置文件中。部署单个应用程序时,这通常会增加工作量但收效甚微。

关于asp.net - 如何部署 ASP.net 自定义 MembershipProvider?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/422631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com