2016-08-16 17 views
0

アプリケーション情報:のGrails:ユーザーに応じて無効にフォーム入力

  • Grailsのバージョン:3.1.8
  • Groovyのバージョン:2.4.6
  • JVMのバージョン:1.8.0_60
  • 春のセキュリティ:spring-security-core:3.1.1

私はGrailsフォームを持っており、ユーザーのタイプによっては特定のフィールドを読み取り専用にしたいと考えています。私は次のtaglibを使ってユーザーを特定することができます。

<sec:ifAllGranted roles='ROLE_ADMIN,ROLE_SUPERVISOR'> 
... 
secure stuff here 
... 
</sec:ifAllGranted> 

入力フィールドを無効にするにはreadonly = "readonly"を使用できます。 2を結合しようとすると、結果は私が望んでいるものではありません。以下は私がやろうとしていることです:

<g:textField name="assessment" id="assessment" class="form-control" 
    value="${thePerson.assessment}" readonly="${<sec:ifAllGranted roles='ROLE_ADMIN'> "readonly" </sec:ifAllGranted>}"/> 

私のロジックは、Groovy式を読み取り専用に埋め込むことです。

答えて

1

これを試してみてください:

<input type='text' name="assessment" id="assessment" class="form-control" value="${thePerson.assessment}" ${sec.ifAllGranted(roles:'ROLE_ADMIN'){ 'readonly="readonly"' }} /> 
関連する問題