2012-02-20 11 views
1

.netのメンバーシップを使用してユーザーの役割を管理しています。現在、ユーザーは長期間使用しないと停止されます。ユーザーを停止解除するメンバーシップAPIはありますか?.netメンバーシップ解除アカウント

+0

私は、ASP.NETメンバーシッププロバイダがユーザーサスペンション/停止解除の周りの任意のメソッドを持っているとは思いません。これは、メンバーシップ・プロバイダーをラップするカスタム・コードのように聞こえます。 – AndrewC

+1

ええ、ASP.NETの既定のメンバシッププロバイダには「中断」はありません。最も近いのは、特定の回数のパスワード試行が失敗した後にユーザーをロックアウトすることです。コードの一部を投稿することができれば、デフォルトのメンバーシップ・プロバイダ、またはカスタム・メンバーシップ・プロバイダで作業しているかどうかを伝えることができます。 – CptSupermrkt

+0

申し訳ありません。それは実際にカスタムクラスがメンバーシップクラスをラップすることですが、これは以前には分かりませんでした。 =( – wjheng

答えて

2

メンバーシッププロバイダには「サスペンド」はありません。しかし、システムにログインするユーザの能力に影響する二つの性質があります。

MembershipUser.IsLockedOut

MembershipUserクラスでは、のを見てみましょう。このプロパティは、ユーザーが持っていることを示しています間違ったパスワードで許可された回数以上ログインしようとするとシステムからロックアウトされました。 web.configはその番号を持ちます。

は、ユーザーをプログラムで明示的にロックアウトできないことに注意してください。ユーザー自身のアカウントで間違ったパスワードを入力すると、ユーザー自身がロックアウトされる可能性があります。

MembershipUser.IsApproved:ユーザーを承認または不承認とすることができ、そのプロパティはユーザーが認証できるかどうかを定義します。おそらくSuspendedユーザーと同等です。 MembershipUser.IsApprovedをfalseに設定し、MembershipProvider.UpdateUser(MembershipUser)メソッドでユーザーを更新するだけです。逆に、ユーザが再度ログインできるようにするには、プロパティIsApprovedをtrueに設定します。

これはメンバーシッププロバイダの機能を明確にしますが、ユーザーが非アクティブのためにシステムから「中断」されていることを確認することは奇妙です。上記の2つの選択肢のうちの1つではないと確信していますか?

0

中断し、ここでの中断を解除平均ロック/あなたが試すことができますロックを解除した場合:

MembershipUser user = Membership.GetUser("name"); 
user.UnlockUser(); 
関連する問題