나는 컨트롤러가 admin
이고 다른 컨트롤러는 guest
입니다. (A username
으로 요청 본문에서 결정) 사용자가 admin
(실제로 not-guest
) 사용자가 다음 포트 요청을해야하는 경우Yii2 - 사용자 유형에 따라 컨트롤러에 요청을 포트
: 나는 test.com/guest/index
같은 고정 주소 일부 http
요청이,이 결과를 갖고 싶어 (리다이렉트는 API 클라이언트에서 리다이렉트가 불가능하기 때문에, 리다이렉트시에는 HTTP 요청이 캔슬 방식으로 움직이기 때문에) admin
컨트롤러의 특정 메소드로 이동한다.
내가 test.com/guest/index
에 POST
요청을 보내고 그래서 그것을 실행해야 admin
오전 같은 methodName()
-admin
컨트롤러 및 admin
을하지 다른 사람이 같은 요청을 보낼 경우는 실행해야합니다 - 나는 이름을하지 요청을 지정해야합니다 methodName()
(동일한 메서드 이름) 컨트롤러에서 guest
.
어떻게이 작업을 수행 할 수 있습니까? 나는 Yii2를 사용한다. 그래서 나는 이것을 할 수있는 방법이 있는지 또는 다른 방법 이름을 가진 단일 컨트롤러에서 그렇게 할 수있는 방법이 없는지 알고 싶습니다. ACL 확장이 가능합니까? 감사
덕분에이 좋은 방법을 보이지만, 어떻게해야 \ Yii :: $ app-> user-> role 부분을 설정 하시겠습니까? 요청 본문과 사용자 이름에만 기반한 로그인 기능이 없기 때문에 어디에 설정해야합니까? –
글쎄, 사용자가 로그인하는 것을 허용하지 않는다면 나는 admin 기능을 처리해야한다고 생각하지 않는다. 귀하의 양식에 사용자 정보도 전달할 수 있습니다. – Justinas
실제로 사용자 이름과 비밀번호가 요청과 함께 전송됩니다. 나는 그것들을 검증해야하고 관리자라면 methodAdmin()을, 그렇지 않으면 methodGuest()를 수행해야한다. 그래서 각 요청에는 로그인이나 세션이나 쿠키 또는 다른 것들이 없어야합니다. 이 일을 할 수있는 방법이 있습니까? –