소나타 사용자 번들 및 FOS 사용자 번들 덕분에 사용자 관리를 구성했습니다. 권한이있는 그룹을 만들었고 사용자를 그룹에 포함 시켰습니다. 그러나 이러한 사용자 프로필에 로그인 할 때 그룹에 영향을주는 역할이 없습니다.symfony Fos User Bundle : fos_user_group 및 역할 링크
누구에게 설명이 있습니까?
소나타 사용자 번들 및 FOS 사용자 번들 덕분에 사용자 관리를 구성했습니다. 권한이있는 그룹을 만들었고 사용자를 그룹에 포함 시켰습니다. 그러나 이러한 사용자 프로필에 로그인 할 때 그룹에 영향을주는 역할이 없습니다.symfony Fos User Bundle : fos_user_group 및 역할 링크
누구에게 설명이 있습니까?
FOS는 addRole 및 setRoles에서 직렬화 및 비 직렬화 배열을 사용하는 역할에 두 가지 기능을 사용합니다. 당신은 사용자 관리자 API 또는 교리의 엔티티 관리자를 사용하여 작업을 수행 할 수 있습니다, 그것은 다음과 같이 컨트롤러 액션을 만드는 것입니다 :
public function registerUserAction(Request $request)
{
$task = new User();
$form = $this->createFormBuilder($task)
->add('username', 'text')
->add('email', 'email')
->add('enabled', 'choice', array(
'choices' => array('Enable' => 1, 'Disable' => 0),
'required' => true,
))
->add('password', 'password')
->add('roles')
->add('save', 'submit')
->getForm();
$form->handleRequest($request);
if($form->isValid()){
$username = $form->get('username')->getData();
$email = $form->get('email')->getData();
$pass = $form->get('password')->getData();
$enabled = $form->get('enabled')->getData();
$roles = $form->get('roles')->getData();
$task->setUsername($username);
$task->setEmail($email);
$task->setPlainPassword($pass);
$task->setRoles($roles);
$task->setEnabled($enabled);
$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();
}
return $this->render('SafUserBundle:ManageUser:registerUser.html.twig', array(
'form' => $form->createView(),
));
}
컨트롤러의 상단에 HTTP 요청에 대한 라이브러리를 가능하게 확인을
사용 Symfony \ Component \ HttpFoundation \ Request;
위의 코드는 템플릿과 컨트롤러를 폼을 사용하여 접착합니다.
나뭇 가지에 양식을 한꺼번에 출력 할 수 있습니다. {{form (form)}} 또는 렌더를 완전히 제어하려는 경우 필드별로 필드를 작성할 수 있습니다.
사용자 클래스의 역할 속성 때문에 변환 또는 당신이 몇 가지 코드없이 fosuserbundle
제공하는 사용자 관리자를 사용할 수 있습니다
addRole
에서 배열 사용되는 유형입니다? 아마도 :) – nifr