나는 둘 다 Symfony2로 작성된 REST API와 그 프론트 엔드를 가지고있다. 이 문서 당 내가 (해시) 패스워드, 소금과 같은 백엔드의 정보를 기반으로, 프론트 엔드에서 사용자 개체를 만들 수있는 사용자 정의 사용자 제공자를 쓴 프론트 엔드에서
등
: http://symfony.com/doc/current/cookbook/security/custom_provider.htmlhttp 사용자 정의 백엔드 API와 백엔드 API를 기본으로 결합
그러나, 대부분의 API 요청에 대해 HTTP 기본 인증 자격 증명이 필요합니다. 그러나 내가 아는 한 Basic에 대해 나는 일반 텍스트 비밀번호가 필요하다. 프론트 엔드 측에서 가지고 있지 않은 것은, 필자는 커스텀 사용자 프로 바이더의 해시 버전을 가지고 있습니다.
해시 된 암호 버전과 함께 HTTP 기본을 어떻게 든 사용할 수 있습니까?
가 아니면이 _username와 프론트 엔드에 로그인 폼의 _password 필드를 차단, 세션에 저장할 (즉 적절한인지 확실하지 않은,하지만 지금은 그것을 해결하는 것)
나는 후자를 시도했습니다 수 있습니다 , 'login_check'대신 자신의 URL에 로그인 폼을 게시하여 _username 및 _password 필드를 볼 수 있습니다.하지만 그 후에 '/ login-check'로 전달해야 Symfony2가 마술을하도록 할 수 있습니다. 컨트롤러를 찾을 수 없으므로 계속 실패합니다. (컨트롤러를 설정하지 않고 Sf2가 login_check 호출을 가로 채기는하지만, 문제가 생길 때가 아닙니다.)
서버에 전송하기 전에 암호를 해시 경우,
건배,
디터
왜 백엔드와 프런트 엔드에 동일한 방화벽을 사용하지 않습니까? – julesbou
무슨 뜻인지 자세히 설명해 주시겠습니까? 나는 내가 따라 오지 않을 것이라고 생각한다. 두 방화벽의 경우는 매우 다릅니다. 백엔드 하나는 http 기본 인증으로 구성되며 stateless이지만 프론트 엔드는 certelessly stateless가 아니며 HTTP Basic이 아닌 폼별로 인증해야합니다. – Dieter