はい、できます。WebSecurity
ただし、APIを介してUserProfileなどのメンバーシップテーブルの余分な列を更新する方法を提供するとは思いません。
MVC4 ASP.NET インターネット アプリケーション プロジェクトがあり、EF5.0 Code First を使用しています。
UserProfile テーブルに追加の列を追加する方法は既に知っています (テーブル名は何でもかまいません)。
クラスができたら (UserId と UserName とともに必要なすべての追加列を含む)、
UserController
UserProfile の CRUD 操作を容易にする専用のコントローラーを追加しました。
- UserController は、
UserService
UserProfile クラス (エンティティ) に対するすべての CRUD 操作を処理するビジネス層のクラスを使用します。
Edit Post 操作で、コントローラーはUpdateUser()
以下のような UserService クラス メソッドを呼び出します。
public void UpdateUser(UserProfile user)
{
Guard.ArgumentNotNull(user, "user");
if (_roleWrapper.GetRolesForUser(user.UserName).Any())
{
_roleWrapper.RemoveUserFromRoles(user.UserName, _roleWrapper.GetRolesForUser(user.UserName));
}
if (!_roleWrapper.IsUserInRole(user.UserName, user.Role))
{
_roleWrapper.AddUserToRole(user.UserName, user.Role);
}
_dataContext.Update<UserProfile>(user);
}
上記のテキストとサンプルは単なる例であり、簡略化できます。基本的に、UserProfile クラスを取得し、DbContext を使用して手動で更新する必要があります。WebSecurity
シンプルさを念頭に置いて API を制限しています。
お役に立てば幸いです(何かわかりにくいことがあればお知らせください。さらに詳しく説明します)。