通过ObjectDataSource访问第二个MembershipProvider

时间:2015-10-23 09:36:52

标签: asp.net vb.net membership-provider objectdatasource

我有一个项目,我需要访问第二个ASP.NET成员资格数据库,以允许管理此数据库中的用户数据。

我的方法是向web.config和第二个MembershipProvider添加第二个连接字符串: -

<connectionStrings>
        ...
        <add name="MembershipWebUsers" connectionString="Data Source=xxx;Initial Catalog=xxx;Persist Security Info=True;User ID=xxx;Password=xxx" providerName="System.Data.SqlClient"/>
</connectionStrings>



<membership defaultProvider="MembershipProvider">
     <providers>
         ...
         <add name="MembershipWebUsers" type="System.Web.Security.SqlMembershipProvider" connectionStringName="MembershipWebUsers" applicationName="WebUsers" minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0" />
     </providers>
</membership>

然后,我可以像这样访问第二个提供商中的用户: -

Membership.Providers("WebMembershipProvider").GetAllUsers(0, 50, totalRecords)

而不是使用默认提供商的Membership.GetAllUsers()

之前的开发人员使用ObjectDataSource来处理用户与GridViewDetailsView的绑定。

<asp:ObjectDataSource ID="MemberData" runat="server" DataObjectTypeName="System.Web.Security.MembershipUser"
        OldValuesParameterFormatString="original_{0}" SelectMethod="GetUser" TypeName="System.Web.Security.Membership"
        UpdateMethod="UpdateUser">
        <SelectParameters>
            <asp:QueryStringParameter Name="username" QueryStringField="username" />
        </SelectParameters>
    </asp:ObjectDataSource>  

然而,这使用DefaultProvider。如何覆盖或创建自己的ObjectDataSource来查看我在web.config中配置的特定提供商,以及我需要手动实施哪些方法。

我需要能够通过ObjectDataSource CRUD特定提供商中的用户。

0 个答案:

没有答案