【问题标题】:how to add users in spring security core如何在spring security core中添加用户
【发布时间】:2011-09-19 18:06:37
【问题描述】:

我刚刚将 spring 安全插件添加到我的 grails 应用程序中。我有一个关于添加用户及其相关角色的问题。我能够在引导程序中正确执行此操作,但想知道如何在 GSP 页面中执行此操作。我有一个带有相应字段的 gsp 页面。提交时,它调用保存方法。我的用户域控制器扩展了 SecUser。下面是例子:

class User extends SecUser {

    String  fname
    String  lname
    Date    dateCreated
    Date    lastUpdated

    static constraints = {
        fname       (blank:false)
        lname       (blank:false)
    }
    String toString(){
        fname & " " & lname
    }
}

保存用户时,只保存用户域中的项目,不保存SecUser。有人有示例 GSP 和控制器代码来保存所有用户数据吗?

【问题讨论】:

    标签: grails groovy spring-security


    【解决方案1】:

    您是否使用包含的脚本来生成您的用户类?

    grails s2-快速入门 DOMAIN_CLASS_PACKAGE USER_CLASS_NAME ROLE_CLASS_NAME [REQUESTMAP_CLASS_NAME]

    例如。

    grails s2-quickstart com.yourapp 用户权限

    当我在我的 grails 应用程序中这样做时,生成的 User 类没有扩展 SecUser。

    【讨论】:

    • 我想你可能对我的问题感到困惑。现在我使用以下代码在我的引导程序中添加用户: def newUser= new mgr.User(username:"newUser",password:springSecurityService.encodePassword("admin"), fname:"Jason",lname:"lname", dateCreate :today, lastUpdated:today, enabled:true) newUser.save() SecUserSecRole.create newUser, adminRole 我的问题是,如何在我的 GSP 和控制器文件中添加用户?
    • 感谢您的回复。不,我想扩展 SecUser。当我添加安全核心时,我已经有一个用户域,所以我只想扩展它。问题是,当我生成视图时,创建和编辑视图不会为角色添加任何内容。我能够编写自己的代码来添加用户但是当我想删除用户时我无法弄清楚如何让用户的 SecUser 和 SecRole 被删除(我知道用户的主键但是这似乎不足以删除)任何帮助都会很棒
    【解决方案2】:

    我认为你有两个问题:

    1. 如何在您的 User 类上创建 Crud(包括 gsp)
    2. 如何将数据持久化到您的类及其继承的字段中

    对于第一个问题: 要创建 GSP 以及您需要在 User 类上添加 CRUD 的所有内容,我建议您使用脚手架。如果会为您处理所有这些。

    从您的 UserController 中删除所有内容或仅使用以下代码创建另一个控制器:

    class UserController {
        static scaffold = User
    }
    

    然后,导航到您的 UserController ({your_app}/user/index),一切都应该在那里。

    如果你想拥有一个实际的控制器和 gsps 并修改它们的工作方式,请使用 grails 命令:grails generate-all your.package.User

    第二个问题:

    除非您的 SecUser 类有问题(例如瞬态字段),否则从 SecUser 继承的所有字段都应通过 User.save() 保存

    告诉我进展如何,

    文森特·吉盖尔

    【讨论】:

    • 感谢帮助。对不起,我没有早点检查这个。我不知道这是必需的
    猜你喜欢
    • 2011-01-14
    • 2020-11-07
    • 2015-11-21
    • 2013-09-12
    • 1970-01-01
    • 2012-02-03
    • 2020-09-12
    • 2012-07-26
    • 2016-10-16
    相关资源
    最近更新 更多