ローカルスコープで変数にデータを追加するためのパターン

StackOverflow https://stackoverflow.com//questions/12690526

  •  12-12-2019
  •  | 
  •  

質問

私はActive Directoryと統合されたCentrify Expressのための人形モジュールを変更しようとしています。

ノードごとに、allowList、e.xp:

のallowリストにユーザーを追加したい。
$centrifydc_groups_allow = ['admins', 'users']
.

その後、私のテンプレートでは、:

の行に沿って何かをしてください。
<% scope.lookupvar('centrifydc::groups_allow').each do |val| -%>
<%= val %>
<% end -%>
.

アクセスプロファイルを定義する清潔な一貫した方法を探しています。その後、アクセス権を持つべきエントリを追加する個々のノード調整を行います。

これを行う方法?

役に立ちましたか?

解決

人形の配列に追加する+=演算子を持っています

$centrifydc_groups_allow = ['admins', 'users']
$centrifydc_groups_allow += ['webusers']
.

また、 stdlib module を使用している場合は、配列に対処するための多くの便利な機能を実装しています。。

例えば、異なるPPから配列で自分自身を繰り返すことができるリスクがある場合は、追加する前にテストできます。

$centrifydc_groups_allow = ['admins', 'users']
if member($centrifydc_groups_allow,'webusers') == false {
  $centrifydc_groups_allow += ['webusers']
}
.

アレイをマージするマージ関数は、scope_function_mergeを介してテンプレート内でそれをアレイに追加する代わりに、デフォルトの配列とカスタムアレイが各ノード/タイプ/ etcに対して書き換えられたカスタムアレイを持ちます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top