【发布时间】:2012-02-21 05:27:27
【问题描述】:
我有以下五个角色的管理员用户[ROLE_ADMIN,ROLESWITCHUSER,ROLE_DOCTOR,ROLE_USER] 还有一些普通用户只有一个角色,即 ROLE_USER ,现在我的问题是我如何才能从我尝试使用 somne 迭代的 secuser 表中只获取普通用户
def roleId=SecRole.findByAuthority("ROLE_USER")
userInstance = SecUserSecRole.findAllBySecRole(roleId).secUser
在这里,我得到了所有用户的 userInstance 以及 adminuser 现在我试图从我的 userInstance 中删除 adminuser 并将其保存在 selectUserMap 中,但有时会得到结果,有时它会给所有用户。我认为 sort() 函数没有对用户实例角色进行排序,请帮助我
for(int i=0;i<userInstance.size();i++)
{
println( "am in loop "+i+userInstance[i].username+"roles"+userInstance[i].getAuthorities())
def x=(userInstance[i].getAuthorities().sort())
for(a in x )
{ //println(a.getAuthority())
if((a.getAuthority() == use))
abc=true
else
abc=false
if((a.getAuthority() == adm))
{
println("break")
break;
}
abc=(abc && (a.getAuthority() == use))
if(abc)
{
println("am in true if ")
selectUserMap.add(j,userInstance[i])
j=j+1
}
else
{
println("am in else")
}
}
}
println("==============all users "+selectUserMap)
【问题讨论】:
标签: grails