サイトの管理者がメンバーをロックアウトできるようにしたいのですが、デフォルトのMVCメンバーシップのIsLockedOut()は読み取り専用です。カスタムメンバーシッププロバイダーを作成する必要があることを読みましたが、それが何を意味するのか完全にはわかりません。membershipUserプロパティを使用して新しいモデルを作成する必要がありますか?可能であれば、データベースに新しいテーブルを作成したくありません。
これが私のlockUserメソッドのために持っているコードです:
public static void LockUser(this MembershipUser user)
{
using (var db = new MovieContext())
{
Guid userid = (Guid)user.ProviderUserKey;
MembershipUser member = Membership.GetUser(userid);
member.IsLockedOut = true;
member.LastLockoutDate = DateTime.Now;
db.SaveChanges();
}
}