2010-03-24 2 views
4

전적으로 PHP로 작성된 일련의 웹 응용 프로그램을 관리하고 있으며 역할 기반 인증 시스템을 구축하기위한 인증 플랫폼을 찾고 싶습니다. 위에. 또한, 인증 시스템이 예를 들어 시스템 서비스 (SSH 등) 용으로 확장 가능하도록하고 싶습니다.Kerberos 및/또는 기타 인증 시스템 - 모든 PHP 스크립트에 대해 한 번 로그온

다음은 중요도 순으로 설명합니다.

  1. 쉬운 PHP 구현 (쉽게 역할 등 저장/읽기 등).
  2. 가능하면 중복. 인증 시스템이 다운되면 모든 사용자가 잠기지 않습니다.
  3. Windows 및 Mac 용 클라이언트가 있습니다.
  4. 쉬운 웹 기반 관리 (사용자/역할 추가/제거, 암호 변경). 그렇지 않다면 너무 많은 노력없이 관리 시스템을 구축 할 수 있습니다.
  5. 1 회 로그온. 인증 토큰이 발행

나는 또한 싶습니다은 사용자의 IP 주소를 저장하고 일부 비 웹 기반 애플리케이션에 대한 사용자 권한을 부여하는 것을 사용합니다. 그런 이유로, 예를 들어, 사용자가 워크 스테이션에서 유휴 상태가 될 때 데스크톱 클라이언트가 토큰을 발급하고 토큰을 철회하고 싶습니다. Kerberos가 해결책 일 수 있다고 생각하지만 다른 옵션은 무엇입니까?

답변

2

당신이 찾고있는 것은 본질적으로 LDAP (Lightweight Directory Access Protocol) 서버/클라이언트 설정입니다. PHP는 라이브러리가 내장되어있어 쉽게 중복되고 Windows/Mac/Linux 클라이언트를 사용할 수 있으며 프론트 엔드를 사용할 수 있습니다 (현재 좋은 패키지는 추천 할 수 없지만). 모든 응용 프로그램에 인증을 제공합니다. 필요.

원하는 것을 정확하게 얻기 위해 추가로 필요한 부분이 있지만 LDAP는 시작해야하는 프레임 워크와 비슷합니다.

+2

이 솔루션은 요청 된 단일 로그온 특성을 제공하지 않습니다. – Borealid

4

내가 과거에 몇 가지 점에서 실제로이 작업을 수행했다면 Kerberos와 LDAP의 조합을 사용했습니다. Kerberos는 인증을 처리하고 사용자에게 토큰을 제공합니다. LDAP는 인증을 제공합니다. 그룹 회원 정보, 사용자 연락처 정보 등

Kerberos는 매우 잘 테스트되고 널리 배포되었습니다. Kerberos로 웹 응용 프로그램을 보호하려면 Apache의 mod_krb5 또는 Stanford WebAuth와 같은 솔루션을 사용하십시오. 사용자는 Kerberos에 대해 한 번 인증 한 다음 브라우저가 SPNEGO를 통해 티켓을 사용하여 자동으로 웹 응용 프로그램에 로그인합니다. Windows Active Directory 도메인이있는 경우 사용자는 이미 컴퓨터 로그인 세션에서 사용할 수있는 Kerberos 티켓을 가지고 있습니다!

커버 로스는 또한 등 등 OpenSSH의 다양한 IPSEC VPN 도구, 이메일 (SMTP 및 IMAP 모두), XMPP (재버) 채팅, 다른 많은 네트워크 서버 프로그램에서 지원됩니다

커버 로스 기반 시설이 될 수 있습니다 당신이 좋아하는 것처럼 중복되고, 그러나 당신이 좋아하는 조직. 영역은 인증을 제공하는 여러 서버를 가질 수 있으며 임의의 방식으로 서로를 신뢰할 수 있습니다.

그것은 단지 해결책이 아니며, 싱글 사인온 솔루션입니다.

+0

+1 좋은 해결책. – karlipoppins

관련 문제