新しいユーザーを作成するためにバックエンドに新しいフォームを作成したいと考えています。私はこの機能を持つ私自身のAdminControllerを作成します:Symfony3 + FosUserBundle + EasyAdminBundle
public function createNewUsersEntity()
{
return $this->container->get('fos_user.user_manager')->createUser();
}
public function prePersistUsersEntity(User $user)
{
$this->get('fos_user.user_manager')->updatePassword($user);
$this->container->get('fos_user.user_manager')->updateUser($user, false);
}
public function preUpdateUsersEntity(User $user)
{
$this->get('fos_user.user_manager')->updatePassword($user);
$this->container->get('fos_user.user_manager')->updateUser($user, false);
}
私が持っている問題:パスワードは暗号化されていません。
アプリ/設定/ security.ymlファイル
セキュリティ: エンコーダ:私のsecurity.ymlファイルで
fos_user:
db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
firewall_name: main
user_class: AppBundle\Entity\User
use_listener: false
:私のconfig.ymlファイルで
私はこの構成を有している FOS \ UserBundle \ Model \ UserInterface:bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
always_use_default_target_path: true
default_target_path: /admin
failure_path:/
# if you are using Symfony < 2.8, use the following config instead:
# csrf_provider: form.csrf_provider
logout: true
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
と、これは私のユーザエンティティにおける構造です:別の手で
public function __construct()
{
parent::__construct();
}
、ユーザーがシステムに追加されたとき、私はROLE_USERのROLでそれを必要としますが、私は変更のために何ができるか分かりませんそれ。
2つの問題:パスワードは暗号化されず、役割は定義されていません。
@ KrzysztofRaciniewski「Rola administratora」としてROLE_ADMINをどのように表示しましたか?それは翻訳か小枝か多分何か他のものを使って行われますか? – fadehelix
簡単な翻訳。 /app/config/Resources/translationsに "messages.en.yml"というファイルを作成し、 "ROLE_ADMIN: 'your_translation_for_key'"という行を追加します –