0

symfony 1.4の「admingenerator」を使ってプロジェクトの手招きを作成しているので、Adminやuser(role)のような他のメンバーなどにアクセスできます...

バックエンドのメンバーリストでパスワードを非表示にして、Admin(is_super_admin = 1 in DB:sf_guard_user)のようにログインするとパスワードが表示されますが、誰かがユーザーのようにログインして同じフィールド(is_super_admin = DB:sf_guard_userでは0)。

roleとgenerator.ymlまたは他のソリューションを使用してフィールドを非表示にするソリューションがあるかどうかを尋ねていますか?

4

3 に答える 3

2

はい、あなたはこのようにそれを行うことができます:

# generator.yml
generator:
  class: fdDoctrineGenerator
  param:
    model_class:           sfGuardUser
    theme:                 admin
    non_verbose_templates: true
    with_show:             false
    singular:              ~
    plural:                ~
    route_prefix:          user
    with_doctrine_route:   true
    actions_base_class:    sfActions

    config:
      actions: ~
      fields:
        password:
          credentials: [super_admin]
      list:
        display: [=username, password]
      filter   ~
      form:    ~
      edit:    ~
      new:     ~

管理者がいる場合はis_super_admin == true、どのユーザーにも割り当てられていない任意の資格情報を使用できます。

于 2013-03-25T20:27:13.110 に答える
0

オプションだけを使ってそれを行うオプションはないと思いgenerator.ymlます。

私が行うことは、ユーザーを一覧表示する2つの異なるアクションを作成することです。1つはパスワードあり、もう1つはパスワードなしです。次に、を使用しsecurity.ymlて、パスワードを使用してリストへのアクセスを制限し、スーパー管理者のみがリストにアクセスできるようにすることができます。

1つのURLだけでこのリストにアクセスできるようにしたい場合。ユーザーの権限をチェックしてリストの1つに転送する3番目のアクションを作成します(このアクションは、で定義されていない「通常の」アクションとして記述する必要がありますgenerator.yml)。

于 2013-03-25T15:55:38.970 に答える
0

このフィールドをgenerator.ymlに含めます。

そのフィールドのmodule/templates/_form_field.phpにパーシャルを作成します。

部分フォームフィールドに条件を渡します。

  <?php if ($sf_user->hasCredential('admin')): ?> 

      <?php echo $MyObject->getMyFormField(); ?>  

  <?php endif; ?>

それはそれをする必要があります。

于 2013-03-25T17:09:39.950 に答える