对未知属性进行排序

时间:2014-05-19 09:32:07

标签: grails gorm

我正在构建一个小应用程序,在UI的一部分中,您可以对某些对象(人员)进行排序。所以当我打电话给这个网址时:

http://localhost:8080/addressbook/person/list?sort=name

一切都很好。

但是,当我将URL更改为以下内容时,我的应用程序会抛出异常:

http://localhost:8080/addressbook/person/list?sort=thisisanunknowproperty 

我收到的错误如下:

Class 
org.hibernate.QueryException 
Message 
could not resolve property: thisisanunknownproperty of: persons.Person 

当然,这真的不是我想要的。应用程序应该不排序,而不是抛出这样的异常。但是,我该如何防止这种行为发生?

我想到的是,我构建的东西检查属性是否是允许排序的属性的成员,但我想知道是否有任何开箱即用的东西我错过了?

1 个答案:

答案 0 :(得分:1)

正如我通过电子邮件提到的那样,请查看基于Grails Command ObjectsSpring Validation API

坚硬而快速的规则永远不会盲目地接受用户输入。在许多框架中,包括Grails,这暴露了一些令人讨厌的安全漏洞。