0

カスタム メンバーシップの表

カスタム メンバーシップのデータ

私はMVCに非常に慣れていません。カスタム メンバーシップ asp.net MVC4 を実行しています。上記は、私が作成したテーブルとデータです。isinrole メソッドをオーバーライドしようとしましたが、機能しません。以下はサンプル コードです。どこを編集すればよいかわかりません。

       public override bool IsUserInRole(string userName, string roleName)
    {
        User user = repository.GetUser(userName);
        Role role = repository.GetRole(roleName);

        if (!repository.UserExists(user))
            return false;
        if (!repository.RoleExists(role))
            return false;

        return user.Name == role.Name;
    }

UserInRole テーブルからユーザーのロールのリストを取得する必要がありますが、このテーブルは表示されません。ユーザーのロールが一致しているかどうかを確認する必要がありますUser.IsInRole("Administrator")

4

1 に答える 1

0

ロール名をユーザー名 ("a" != "Administrator") と比較しているため、機能していません。このようなものがもっと必要です。

public override bool IsUserInRole(string userName, string roleName)
{
    User user = repository.GetUser(userName);
    Role role = repository.GetRole(roleName);

    if (!repository.UserExists(user))
        return false;
    if (!repository.RoleExists(role))
        return false;

    return user.Role.ID == role.ID;
}

ただし、エンティティの設定方法によって異なる場合があります。

于 2013-03-10T11:22:32.793 に答える