2013-09-06 4 views
0

제목이 맞는지는 모르겠지만 그 내용은 내가 현재 달성하고자하는 바에 대한 현재의 이해를 바탕으로 사용할 수있는 가장 가까운 용어입니다. 그러나 나는 그것을 설명하는 것이 더 쉬울 수 있도록 이미지를 포함하고있다.다른 응용 프로그램에서 세션 확장

Proposed architecture

기본적으로, 나는 그것의 기능을 기반으로 응용 프로그램을 분할하려고, 첫 번째는 여러 가지 기능이있을 것이다 홈페이지 또는 mainpage와 로그인 페이지가 될 것 붉은 색이다 :

사용자 인증 (사용자 & 패스)에 대한 이
  • 체크
  • 성공적으로 로그인 한 후, 다음 트랜잭션 모듈에 그를 재 지정할지 여부를 사용자 액세스 수준을 확인합니다 응용 프로그램 (하위 응용 프로그램의 모음) 또는 파일 유지 보수.

내가 모든 응용 프로그램을 만들었습니다하지만 지금은 '하나의 응용 프로그램', 그래서 내 주요 문제로 인은 다음과 같습니다

  1. 는 어떻게 BLUE 또는 빨간색으로 로그인 한 후 내 세션을 확장 할 수 있습니다 내가 방향을 바꿀 때 노란색.
  2. 그리고 컨트롤러를 RED에서 BLUE로 또는 YELLOW에서 어떻게 리디렉션하거나 호출 할 수 있습니까? 또는 한 응용 프로그램에서 다른 응용 프로그램으로 컨트롤러를 통해 오히려 URL을 사용하여 호출하지 않으면 어떻게 호출되는지 또는 무엇이 호출됩니까?
  3. 흐름은 RED에서 BLUE까지, RED에서 YELLOW까지만 가능하지만 BLUE에서 YELLOW는 될 수 없습니다.

참고 : 3 응용 프로그램을 사전에

감사를 분리

* ADDED : 예를 들어, 지금까지 난 단지 유래에 있던 일단 가입하지만 클릭하면 기억 '서버 오류', '데이터베이스 관리자'등 stackoverflow 관련 사이트에, 그들은 여전히 ​​내 세션을 다시 로깅하지 않고 유지합니다.

Gmail에 로그인 할 때 YouTube에 곧바로 갈 수 있으며 지금도 YouTube에 로그인되어 있습니까? 이것이 내가이 문제에서 성취하고자하는 바입니다.

답변

1

사용자가 로그인 한 경우 - 클릭 할 때마다 자격 증명을 확인해야합니다. 쿠키 세션 또는 토큰 (URL 또는 양식 필드) 또는 http 헤더가있는 것입니다. 사용자를 확인한 후에는 수업과 수업에 참여하게합니다.

리디렉션해야하는 경우 쿠키 세션을 설정 한 다음 리디렉션합니다. 리디렉션하는 컨트롤러는 세션 쿠키를 읽을 수 있습니다. 그러나 일반적으로 자신의 자격 증명이 통과되지 않아 누군가를 퇴장 시키려면 방향을 바꿀 것입니다.

사용자 유형과 사용자가 수행 할 수있는 작업에 따라 다이어그램을 설정하십시오. 사용자, 관리자, 소유자는 사용자 유형입니다. 그리고 나서 - 사용자가 행동하고있는 것입니다. 어떤 사용자는 무언가를 만들고 업데이트 할 수는 있지만 삭제할 수는 없습니다. 따라서 역할을 정의하면 보안 문제가 즉시 분리됩니다.

각 역할에 적어도 하나의 컨트롤러가 있으므로 클래스의 모든 메서드가 동일한 유효성 검사 수준을 갖습니다. 단순한 사용자를위한 방법과 최고 관리자를위한 방법을 혼합하지 않습니다. 특정 사용자의 요구에 따라 클래스에있는 메소드가 정의되도록하십시오.

==== 편집

오우 이제 싱글 사인온을 언급하셨습니까? 이 관심이있을 수 있습니다 :-) : 된답니다의 OAuth 2 https://github.com/philsturgeon/codeigniter-oauth2

핸들 : 페이스 북, 포 스퀘어, GitHub에, 구글, 페이팔, 인스 타 그램, 사운드 클라우드, 윈도우 라이브, 유튜브

+0

사용자 역할이 완료됩니다 만, 삼일 응용 프로그램에 그것을 구현하기 위해, 내가 마찬가지로 코드 되었 어떻게? 또한 BLUE/YELLOW 앱이 전달 된 쿠키 세션이 올바른지 여부를 어떻게 감지 할 수 있습니까? – Ponce

관련 문제