2016-11-22 58 views
0

根据the docs,Grails提供了一些“对持久性没有影响,但可以自定义脚手架”的约束。其中之一是password约束。下面是我如何使用它:如何从Grails脚手架视图隐藏密码字段?

class User { 

    String username 
    String password 

    static constraints = { 
     username blank: false 
     password blank: false, password: true 
    } 
} 

与脚手架组合,这具有编辑视图使用专门的密码输入我的密码字段(这是罚款)的作用,但指数并显示视图仍显示密码以纯文本(根本不好)。有没有办法在创建和编辑视图中使用密码字段只有,或者至少在其他视图上使用星号或其他字符遮罩?否则我想知道这个约束的真正好处是什么。我试图指定display: false, editable: true作为额外的限制,但无济于事。要解决这个

回答

0

的一种方法是使用经领域customized field rendering插件:

  • 创建一个文件夹grails-app\views\_fields\user\password
  • 把两个文件这个文件夹中:_displayWidget.gsp_displayWrapper.gsp
  • 输入<g:each in="${0..value.length()}">&bull;</g:each>到这两个文件

密码字段不会从索引和显示视图中消失,但至少你不会再看到它的价值,而是一个子弹点的面具。根据属性约束,创建和编辑视图仍然使用密码输入小部件。

+0

如果您的密码以明文形式存储在您的数据库中,我认为您应该放置固定数量的子弹,否则这是矛盾的,因为您想隐藏密码,但是您给出了有关此密码(其大小)的指示。但我当然希望你存储一个加密的密码(例如bcrypt)。 – Nico