시간을 검색하고 실제로 사용자 및 관리자 측 로그인 템플릿을 무시할 수있는 방법을 찾지 못했습니다.FosUserBundle 다른 로그인 페이지
I'v은 지금은 로그인 폼을 만들려면
firewalls:
admin:
pattern: /admin(.*)
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
login_path: /admin/login
check_path: /admin/login_check
default_target_path: /admin
logout:
path: /admin/logout
target:/
anonymous: true
access_control:
- { path: ^/admin/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/logout$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/login_check$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: ROLE_ADMIN }
- { path: ^/.*, roles: IS_AUTHENTICATED_ANONYMOUSLY }
security.yml
에서 관리자의 방화벽을 만들었습니다.나는 symfony2가 라우트를 찾을 수없는 예외를 throw하지 않는다면 login 액션을 만들어야한다는 것을 알고있다.
관리자 로그인에 대한 라우팅 :보기 로그인 페이지
admin_login:
pattern: /admin/login
defaults: { _controller: CSCommonBundle:Admin/Default:login }
컨트롤러 :
public function loginAction()
{
return $this->render('CSCommonBundle:Admin/Login:login.html.twig');
}
그리고 로그인 폼 : 이제
<form class="form-signin" action="/admin/login_check" method="post">
<h2 class="form-signin-heading">Giriş Yapın</h2>
<div class="login-wrap">
<input type="text" name="_username" id="username" class="form-control" placeholder="{% trans %}Kullanıcı Adı{% endtrans %}/{% trans %}E-Posta{% endtrans %}" autofocus>
<input type="password" name="_password" id="password" class="form-control" placeholder="{% trans %}Şifre{% endtrans %}">
<label class="checkbox">
<input type="checkbox" id="remember_me" name="_remembe_me" value="on"> Beni Hatırla
</label>
<button class="btn btn-lg btn-login btn-block" type="submit">{% trans %}Giriş Yap{% endtrans %}</button>
</div>
</form>
, 난에 대한 몇 가지 질문이있다;
- 어떻게 로그인 오류가 발생합니까?
- 이와 같은 로그인 양식을 만드는 것이 fosuserbundle과 호환됩니까?
- 다른 사용자 유형에 대해 다른 로그인 페이지를 만들 수 있습니까?
- /admin/login_check 형식 (security.yml과 동일)은 healty입니까?
제게 설명해주세요. 나는이 길에서 길을 잃고 붙어있다.
감사합니다. 그러나 템플릿을 재정의하는 것에 대한 Fos의 문서는 효율적이지 않습니다. 예를 보여줄 수 있습니까? –
확실히 템플릿을 재정의하려면 app/Resources에 새 파일을 만들어야합니다. 로그인하려면 app/Resources/FOSUserBundle/views/Security/login.html.twig가됩니다. 하나의 관리자와 프런트 엔드 사용자를위한 여러 템플릿을 사용하려는 경우, defaut 템플릿을 재정의 할 필요없이 보안 컨트롤러 자체를 무시하고 사용자가 직접 템플릿을 렌더링하면됩니다. login_check이 그 입력 이름을 사용하기 때문에 그들이 사용하는 동일한 마크 업을 유지하는 것이주의하십시오. – joe42
양식 요소의 이름은 무엇입니까? 나는 정말로 혼란 스럽다. 이에 대한 실용적인 예는 없습니다. –