2

最初にコードを使用してEF5.0をメンバーシッププロバイダーと統合するにはどうすればよいですか?

ユーザーの登録などに使用したい独自のデータベーススキーマがあります。

4

2 に答える 2

5

SimpleMembershipProviderを確認する必要があります

EFとの併用はとても簡単です。

アップデート

MVC4の場合、空白のテンプレートから始めます。

WebSecurity.InitializeDatabaseConnectionデータベースを設定する必要があります。

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "Users", "Id", "UserName", true);

パラメータとして、接続文字列の名前、テーブル、一意の識別子列、およびユーザー名列を取ります。

上記のこのコードに使用するモデルは次のとおりです。

[Table("Users")]
public class User
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Required]
    public string UserName { get; set; }

    public string Email { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }
}

誰かをログインするには:

 WebSecurity.Login(aUsername, aPassword);

上記のメソッドはブール値を返します。それがtrueの場合、ログインは成功しました。

Web.configでは、デフォルトのASP.NETメンバーシップの場合のようにmembershipProviderを定義する必要はありません。

プロバイダーにアクセスする必要がある場合(アカウントを削除するため):

var provider = (SimpleMembershipProvider) Membership.Provider;
provider.DeleteAccount(aUsername); // Delete the account
provider.DeleteUser(aUsername, true); // delete the user and its data

新しいユーザーを作成するため(この場合は、指定したモデルを使用)

WebSecurity.CreateUserAndAccount(aUsername, aPassword, new { Email = aEmail, FirstName = aFirstName, LastName = aLastName });

利点は、通常のasp.netメンバーシップでこれを実行する場合に、手間をかけずに、他のEFクラスのモデルを外部キーとして使用できることです。:-)

于 2013-02-03T12:09:00.287 に答える
0

http://msdn.microsoft.com/en-us/library/f1kyba5e

これは実際にはEFとは何の関係もありません。

EFはデータを読み取るための単なる方法です。

FORMS認証 http://support.microsoft.com/kb/301240?wa=wsignin1.0も参照してください。

于 2013-02-03T12:08:36.293 に答える