首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grails 3;使用Spring安全性查看您自己的数据

grails 3;使用Spring安全性查看您自己的数据
EN

Stack Overflow用户
提问于 2017-09-05 06:45:11
回答 2查看 71关注 0票数 0

Grails : 3.3.0 Spring Security : 3.2.0.M1

我已经对此做了一些研究,我发现(Seeing only your own data in Grails)帖子中的答案可能是我正在寻找的答案,但不知怎么的,它不起作用。

这就是我如何捕获登录用户,并尝试过滤,只是让登录用户查看自己的数据。(这是我的任务控制器)顺便说一句,任务的用途是什么:任务

代码语言:javascript
复制
def index(Integer max) {

    def authenticated = getAuthenticatedUser().username
    def tasks = User.findAllByUsername(authenticated)
    [tasks: tasks]
    params.max = Math.min(max ?: 10, 100)
    respond Task.list(params), model:[tasks: Task.count()]
}

这是我的任务域

代码语言:javascript
复制
class Task {

    transient springSecurityService
    
    String task
    Project project
    Pic picName
   
    static hasMany = [subTask:Subtask]
    static belongsTo =[Project,Pic,User]
    }

请给我一些建议,或者让我知道我在哪里做错了!提前感谢!向你问好,喜

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-08 02:48:09

我是通过在普惠制上喊出“任务”来完成的。对我来说很管用

代码语言:javascript
复制
 def     authenticated = getAuthenticatedUser().username
        
        def     tasks = Task.findAllByLogginUser(authenticated)
        
        params.max = Math.min(max ?: 10, 100)
        respond Task.list(params), model:[tasks:tasks] // [tasks:tasks] is to passing tasks into my domain

然后我就从我的域类${tasks}调用

票数 0
EN

Stack Overflow用户

发布于 2017-09-05 09:00:12

我不认为您的需求与Spring安全性无关。

关于“任务的用途是什么:任务”--看起来代码中有两个返回点,所以您需要修复它--在groovy中,如果您位于最后一行,您可以省略“返回”--所以我假设这一行是包含任务列表的模型的返回--但是代码在它之后继续.

  1. 如果任何任务属于用户,那么您应该使用: user = getAuthenticatedUser() //方法,用于获取当前用户params.max = Math.min(max ?:10,100) //任何要添加def任务= Task.findAllByUser( User,params) //获取使用查询参数的用户任务

然后返回数据+任何其他数据,如计数等。

  1. 您可以考虑不使用多个belongsTo --这使得您的模型不需要太复杂: 静态belongsTo =Project,Pic,User 如果任务属于用户,则可以为每个任务保留用户id或用户名,然后通过此属性进行查询--例如: 类任务{瞬态springSecurityService字符串用户名//非唯一字符串任务项目项目Pic picName静态hasMany =子任务:子任务静态belongsTo = Project,Pic } def用户名=获取当前用户名的getAuthenticatedUser().username //方法。params.max = Math.min(max ?:10,100) //任何要添加的查询参数。def任务=Task.findAllByUsername(用户名,params)使用查询参数获取用户任务。
  2. 顺便说一句,将服务保持在域模型中并不是一个好的实践--通过将服务注入到控制器/服务中来使用它。 瞬态springSecurityService
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46048546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档