毎回カスタム プロバイダーにメンバーシップ クラスをキャストすることなく、コードに実装したカスタム MembershipProvider を呼び出す方法はありますか? たとえば、web.config を次のようにセットアップします。
<connectionStrings>
<add name="TestDB"
connectionString="conn_str_here"
providerName="System.Data.SqlClient" />
</connectionStrings>
<membership defaultProvider="CustomSqlMembershipProvider">
<providers>
<clear/>
<add name="CustomSqlMembershipProvider" type="Common.CustomSqlMembershipProvider" connectionStringName="TestDB"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>
そして、私のカスタム プロバイダー クラス:
namespace Common
{
public class CustomSqlMembershipProvider : SqlMembershipProvider
{
public void ChangeUsername()
{
// ...
}
}
}
今、私の新しいカスタム関数を呼び出すために、Membership.ChangeUsername()
これを行う必要があるのに対して、許可する方法はありますか:
CustomSqlMembershipProvider customMembership = Membership.Provider as CustomSqlMembershipProvider;
customMembership.ChangeUsername();
使用したい場所でキャストを行うと、しばらくすると煩わしくなり始めます。前もって感謝します。