1

既存のロールにロールを追加するたびに、User機能しなくなります。

ログにエラーはありません。また、try catch でコントローラーにアクセスしましたが、うまくいきませんでした。

ここに私のaddRole閉鎖があります:

def addRole = {
     def role = Role.get(params.addRoleAutoComplete_id)
     def user = User.get(params.id)
     if (!role) {
         flash.message = "Select role from list"
     } else {
     try{
        UserRole.create( user,  role)
     }catch(Exception e){e.printStackTrace()}
    }
 redirect  action:'edit', id:user.id
}

Grails 2.3、grails spring セキュリティ プラグイン、および STS 3.2 を使用

ここに私の UserRole.Groovy があります:

class UserRole implements Serializable {

User user
Role role

boolean equals(other) {
    if (!(other instanceof UserRole)) {
        return false
    }

    other.user?.id == user?.id &&
        other.role?.id == role?.id
}

int hashCode() {
    def builder = new HashCodeBuilder()
    if (user) builder.append(user.id)
    if (role) builder.append(role.id)
    builder.toHashCode()
}


static UserRole create(User user, Role role, boolean flush = false) {
    new UserRole(user: user, role: role).save(flush: flush, insert: true)
}

static boolean remove(User user, Role role, boolean flush = false) {
    UserRole instance = UserRole.findByUserAndRole(user, role)
    if (!instance) {
        return false
    }

    instance.delete(flush: true)
    true
}


static mapping = {
    id composite: ['role', 'user']
    version false
}
}
4

0 に答える 0