DokuWiki

It's better when it's simple

사용자 도구

사이트 도구


사이드바

이 번역은 원래 문서보다 오래되었고 오래된 번역일 수 있습니다.
이 문서의 번역?:

Learn about DokuWiki

Advanced Use

Corporate Use

Our Community


Follow us on Facebook, Twitter and other social networks.

ko:devel:authentication_backends

인증 백-엔드 만들기

DokuWiki의 인증 시스템은 모듈성이 높습니다. 그리고 간단히 말하자면 PHP로 접근할 수 있는 모든 것을 인증할 수 있습니다.

제공되는 auth들중 어떤 것도 원하는 것이 아니라면 단순히 인증 백-엔드를 만들기 바랍니다. 백-엔드들은 inc/auth/ 디렉토리에 저장되어 있으며 새로 만들어지는 인증 백-엔드는 <backend>.class.php로 이름을 주어야합니다. 클래스는 반드시 기존 백-엔드나 class defined in inc/auth/basic.class.php에 정의된 auth_basic 클래스를 확장해서 만들어야 합니다. 클래스에서 몇몇 method들은 기본 클래스의 몇몇 method들과 공개 필드(field)들을 오버라이드(override)해야 합니다. 몇가지는 아래에 설명되어 있지만 실제 코드를 작성하려면 기본 클래스의 주석을 살펴볼 필요가 있습니다!

만일 새로운 인증 백-엔드를 작성한다면 커뮤니티와 코드를 공유하도록 하기 바랍니다!

설정 필드 목록

$success

타입: boolean

새 클래스에서 인증 모듈이 정확하게 초기화되었다면 true로 설정해야 합니다. 만일 뭔가 잘못 되었다면 false로 설정하여 프론트-엔드에게 알리기 위해 문제 발생을 알리게 됩니다.

$cando

타입: 결합(associative) 배열(각 요소는 boolean형)

새로 만든 백-엔드가 제공하는 모든 함수들에 대해 true로 각 배열 요소를 설정해야 합니다. 키(key)목록과 의미:

addUser 사용자 추가 가능?
delUser 사용자 삭제 가능?
modLogin 로그인 이름 변경 가능?
modPass 암호 변경 가능?
modName 사용자 실제 이름 변경 가능?
modMail 이메일 주소 변경 가능?
modGroups 사용자가 속한 그룹 변경 가능?
getUsers (필터링 된)사용자 목록을 가져올 수 있는가?
getUserCount 사용자 수를 알 수 있는가?
getGroups 사용가능한 그룹 목록을 가져올 수 있는가?
external 모듈은 외부 인증 검사가 가능?
logoff 모듈은 특별한 로그오프 기능을 가지고 있는가?

필수 구현 함수 목록

단지 2개의 함수가 필수적입니다. 그러나 더 많은 함수를 지원하면 프론트-엔드 역시 더 많은 일을 할 수 있습니다.

Constructor

클래스는 반드시 생성자를 가져야만 합니다. 위 목록에 언급된 필드들을 설정하기 바랍니다.

checkPass()

주어진 사용자가 로그오프하거나 주어진 일반텍스트 암호가 정확한가를 검사하기 위해 필요한 함수.

getUserData()

이메일 주소나 실제 이름 같은 사용자 정보를 넘겨 주는데 사용되는 함수.

선택 구현가능 함수 목록

선택적으로 구현이 가능하며 적절한 cando 필드들이 설정된 경우에만 호출됩니다.

trustExternal()

만일 $cando['external'] 값이 참이면 , 이 함수는 사용자 인증에 쓰이게 됩니다. – 모든 다른 DokuWiki 내부에서 구현된 기능은 인증을 위해 사용되지 않게 됩니다. 이 함수는 서드 파티(third party) 쿠키나 아파치 인증 모듈에 대해 사용될 수 있으며 inc/auth.phpauth_login()함수를 대체합니다. 이 함수의 사용 예제를 보려면 punbb 백-엔드 구현을 둘러보기 바랍니다.

이 함수가 구현된다면 새로 작성된 모듈에서 다른 모든 함수들을 구현하지 않을 수도 있습니다.(심지어 위의 필수 항목마저도 구현하지 않을 수 있습니다 - 물론 생성자는 구현해야 합니다.)

punbb예제에서 trustExternal()함수는 아래 목록의 전역 변수를 설정해야 합니다:

$USERINFO['name']\\
$USERINFO['mail']\\
$USERINFO['grps']\\
$_SERVER['REMOTE_USER']\\
$_SESSION[DOKU_COOKIE]['auth']['user']\\
$_SESSION[DOKU_COOKIE]['auth']['info'] = $USERINFO;\\

$USERINFO 변수 설명을 보려면 GetUserData()함수 문서를 참고하시기 바랍니다.
$USERINFO전역 변수에 접근하기 위해서 'global $USERINFO'를 이 함수 시작 부분에 추가하는 것을 잊어버리면 안됩니다.

logOff()

$cando['logoff']가 참으로 설정되면 이 함수는 logoff 이벤트에서 호출됩니다. 쿠키 삭제나 비슷한 기능을 구현하는데 사용됩니다. 아마 trustExternal와 같이 쓸 때만 유용합니다.

createUser()

제공되는 자료와 함께 새로운 사용자를 생성합니다.

modifyUser()

사용자 정보를 수정합니다.

deleteUser()

한명 이상의 사용자를 삭제합니다.

getUserCount()

주어진 필터 조건에 맞는 사용자들의 수를 넘겨줍니다.

retieveUsers()

주어진 필터 조건에 맞는 여러 사용자들의 정보를 가져옵니다.

addGroup()

새로운 그룹을 추가합니다.

retrieveGroups()

사용가능한 모든 그룹 목록을 가져옵니다.

번역

english version: dokuwiki-2006-11-06.

Add your email here if you created translated or modified whole or part of this page.

  • jk Lee - real mail domain is gmail, not zoo.com for spam filtering 2007-2-6 created
ko/devel/authentication_backends.txt · 마지막으로 수정됨: 2008-08-09 22:05 저자 chi