UserManager无法从用户恢复存储的角色(Identity 2.1 ASP MVC 5)

时间:2015-08-11 09:19:45

标签: asp.net-mvc asp.net-mvc-5 asp.net-identity asp.net-identity-2 user-roles

UserManager.GetRoles(userId)无法恢复存储在数据库中的角色;

我之前使用过Identity并且从未发生过这种情况......不知道我这次做了什么或者发生了什么......

我如何创建用户及其角色:

public void addValueTest(String tableName, String[] values)
{
    String sql = "";

    if (tableName.equalsIgnoreCase("TableA"))
    {
            sql = "insert into "+ tableName + " (TableA_FieldA, TableA_FieldB) values (?, ?);";
    }
    else if (tableName.equalsIgnoreCase("TableB"))
    {
            sql = "insert into "+ tableName + " (TableB_FieldA, TableB_FieldB, TableB_FieldC) values (?, ?, ?);";
    }

    //else if ...
    //else if ...
    //else if ...
    //else if ...

    SQLiteDatabase db = this.getWritableDatabase();
    db.execSQL(sql, values);
    db.close();
}

这在db表(user和userRole)上返回true和数据存储但是..

当我登录时,我无法访问具有角色授权的操作......

var result = manager.Create(applicationUser, model.Password);
if (result.Succeeded)
{
   var userRegistered = manager.FindByName(applicationUser.UserName);

   var roleResult = manager.AddToRole(userRegistered.Id, model.Rol);

   if(roleResult.Succeeded){return true;}
}

在调试时我已经检查过该用户在角色列表中没有项目!!!

我见过的帖子没有帮助我解决问题,不知道为什么它不起作用?

我正在使用VS 2013comm上的Identity 2.1 ASP MVC 5

感谢您的帮助;)

0 个答案:

没有答案