如何使用shiro框架更新grails的域类中的用户数据

时间:2017-07-18 05:05:26

标签: hibernate grails groovy shiro

我使用的是grails 2.5.5,hibernate4 - 4.3.10& shiro - 1.2.1。

Domain类看起来像这样:

class Test{
String name
User createdBy
static constraints = {
}
def beforeValidate() {
    def subject

    try {
        subject = SecurityUtils.subject
    } catch (Exception e) {
        log.error "Error obtaining the subject.  Message is [${e.message}]"
    }
    log.error "createdBy :: [${createdBy}]"
    createdBy = (subject ? User.get( subject.principal ) :
            User.findByUsername("ashutosh"))
    log.error "createdBy :: [${createdBy}]"
    }
}

用户类是:

class User {
String username
String passwordHash

static hasMany = [ roles: Role, permissions: String ]

static constraints = {
    username(nullable: false, blank: false, unique: true)
}

}

我想在测试域类中将当前登录用户作为createdBy插入。

运行此代码时,我收到以下错误:

Error obtaining the subject.  Message is [No such property: SecurityUtils for class: Test]

请建议如何在将数据插入数据库时​​将当前用户数据插入Test中。

0 个答案:

没有答案