2012-06-18 3 views
0

저는 symfony 1.4를 사용하여 완전히 생각하지 않은 프로젝트를 만들었습니다. 이 사이트에는 A, B, C 및 인증되지 않은 사용자의 네 가지 사용자 유형이 있습니다. 각 사용자 유형마다 고유 한 라우팅 및 동작 집합이 필요합니다. A 유형의 사용자가 mysite.com/을 방문하면 B, C 및 로그인하지 않은 사용자와 다른 것을 볼 수 있습니다. 또한 사용자는 mysite.com/users, mysite.com/과 같은 경로를 사용할 수 있습니다. 그룹 등이 있지만 B, C 및 인증되지 않은 사용자는 그렇지 않을 수 있습니다. 기본적으로 사용자가 일부 경로 (예 : /)를 공유하는 경우가 있으며 때로는 그렇지 않을 수도 있습니다.symfony 1.4 - 사용자 유형을 기반으로 한 경로

symfony는 안타깝게도 사용자 필터를 치기 전에 라우팅을로드하고, 가능한 한 빨리 라우팅을 다시 채우고 다시 배포 할 수있는 쉬운 방법은 없다고 말할 수 있습니다. switchTo 사용하여 본질적으로 각 요청에 대해 두 번 응용 프로그램을로드 할 수도 있기 때문에 끔찍한 보인다.

기본적으로 사용자 유형을보고 적절한 라우팅을로드하기위한 프레임 워크가 필요합니다. 심포니와 관련된 모든 솔루션을 필사적으로 환영합니다! D :

답변

0

응용 프로그램 디자인을 생각해보십시오. URL은 객체에 대한 식별자입니다. 다른 URL에 동일한 URL을 사용하는 것은 좋지 않습니다.

아마 사용자 유형이 다른 경우 인터페이스에 대해 다른 앱을 만들 수도 있습니다. 그런 다음 다른 세션 쿠키를 만들 수도 있습니다. 받는 다른 로그인 폼, 링크 :

URL은 다음
/에서 FrontPage 모든 일반 그룹

+0

몇 가지 아이디어를위한
/관리/그룹 관리 인터페이스를 고려하는 사용자를위한
/그룹 그룹 페이지가 될 수 다른 앱, http 리디렉션. – Thomas

+0

각각의 사용자 유형을 별도의 응용 프로그램으로 가지고 실제로는 처음 시도했습니다. 나는 주로 로그인 및 로그 아웃 때문에 앱 간 라우팅 문제에 부딪쳤다. 리디렉션은 정상적으로 작동하지만 swInterAppRouting (또는 무언가)이라는 좋은 플러그인이 있지만 앱 간 전달은 여전히 ​​없습니다. 기본적으로 모든 사용자의 로그 아웃 링크는 기본/로그 아웃 동작으로 리디렉션 된 링크로 괜찮 았습니다. 로그인을하고 게시물을 제출하고 로그인을 처리 한 후에 앱 간 리다이렉트를해야 할 필요가 있기 때문에 로그인하는 것이 더 총체적입니다. – Justin

+0

내가 본 모든 심포니 문서는 두 가지 응용 패러다임을 기반으로하는 프로젝트이며, 한 번에 하나의 응용 프로그램 만이 index.php 프런트 컨트롤러 (보이지 않을 것이고 '예쁜 것')를 사용할 수있는 것처럼 보입니다. 그래서 나는 다른 사용자가 '/user_x.php/'컨트롤러를 URL에 넣을 것을 강요당하는 동안 '예쁜 URL'을 갖기 위해 하나의 사용자 앱을 선택할 수 있다는 것을 의미한다. 나는 원하지 않는다. 기본적으로 당신 말이 맞아요, 그것들이 별개의 앱이되는 것은 당연합니다. 그러나 나는 적어도 각각의 앱이 '기본'앱과 상호 작용할 수 있어야합니다. – Justin

관련 문제