database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
ㆍLDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
LDAP Q&A 1260 게시물 읽기
No. 1260
감사합니다. 최영봉님.. 하지만....
작성자
강석원
작성일
2001-11-30 04:38
조회수
6,391

보내주신 소스 감사합니다..

원래 제가 처음에 작성한 방법과 같군요..

폼을 이용해서 사용자값과 패스워드를 ldap을 이용해서 인증하는것은

문제가 없습니다.. 문제는 이방법으로 디렉토리 안에 있는 모든

파일들을 컨트롤 할수 없다는거지요..

소스대로만 하면, 사용자를 데이터베이스에 기록할수 있지요..

하지만, 신기한것이 하나 있습니다.

PHP를 이용해서 DN를 프린트하면, 다음과 같이 다옵니다.

CN=FIRSTNAME LASTNAME, OU=A, O=AAA

 

그 다음에 OU만 잡아서 프린트하니까 아무것도 안나오더군요..

근데, CN을 프린트하면 또 제대로 나오고..

말씀드렸다시피, OU 가 A가 아니면 "당신은 이곳을 사용할수

없습니다"라는 메세지를 띄우게 되는데, 이것은

substring을 이용해서 DN에서 프린트된 OU를 캡쳐해서 컨트롤

할수 있었습니다.. 이렇게해서 다했다고 생각했는데,

아파치가 인스톨되어 있는 곳의 한 디렉토리를 조정 할수가 없더군요..

이것이 해결이 안되서 mod_auth_ldap을 사용한것인데,

이곳에서는 OU로는 컨트롤이 되지 않네요..

 

 

 

-- 최영봉 님이 쓰신 글:

>> -- 강석원 님이 쓰신 글:

>> >> 감사합니다. 구축하는데 성공했습니다.

>> >> 근데, 알려 주신 사이트 보단 이곳이 더 괜찮은것 같더군요..

>> >> http://www.muquit.com/muquit/software/mod_auth_ldap/mod_auth_ldap.html

>> >>

>> >> 이것을 이용하면, httpd.conf, .htaccess 둘다 디렉토리를 LDAP을

>> >> 이용해서 컨트롤이 가능하더군요.. 근데,

>> >> (.htaccess 의 예제 입니다). 여기서 문제점은

>> >> 밑의 예제 처럼 사용자를 user1 user2라고 해주면

>> >> 아주 잘 잘동합니다.. 그럼 user1 user2만 이 파일이 들어 있는

>> >> 디렉토리를 엑세스 할수 있더군요.. 근데, 전 그룹(OU)로 컨트롤

>> >> 을 해야 하는데, 주석달아 놓은 라인을 이용하면

>> >> 안되더군요.. 그리고 CN은 제가 알기로는 사용자의 이름, 성을

>> >> 나타내는것인데, 그런 그룹으로 정의를 왜 하는지..

>> >> 좀 이상합니다.. 그래서, require group OU=Groups

>> >> 이라고 정의해 주면 또 안되더군요.. 하나 해결 했다싶더니..

>> >> 이게, 왜그런지..좀 알려 주시면.. 그리고 이것을 사용하면

>> >> 네트웍 인증창 같은것이 팝업이 되는데, 이렇게 하지 않고

>> >> 일반 로그인 폼을 써서 할수도 있는지, 왜냐하면, 어떤 사용자가

>> >> 디렉토리를 방문했는지 그것을 데이터 베이스에 입력해야 하는데,

>> >> 그냥 네트웍 인증창 처럼 떠 버리면, 대책이 안서서..

>>

>> 팝업창은 브라우저에서 보여주는 것이기 때문에 바꿀 수 없습니다. 서버측에서는 단순히 Authenticate 헤더만 보내거든요.

>>

>> mod_auth_ldap 을 사용하는데 문제가 많다면 아예 다음과 같이 해보세요.

>>

>>
>> > 
>> function checkauth($login_id, $login_passwd) {
>>   //  사용자가 입력한 아이디와 패스워드를 ldap_search...
>>   //  일치하면 true, 아니면 false 반환..
>> }
>> 
>> function tryLogin() {
>>   Header( "WWW-Authenticate: Basic Realm=\"hurd's realm\" ");
>>   Header( "HTTP/1.0 401 Unauthorized" );
>>   print "Access denied";
>>   return false;
>> }
>> 
>> if ( !$PHP_AUTH_USER ) {
>>   tryLogin();
>> } else {
>>   if ( checkauth($PHP_AUTH_USER, $PHP_AUTH_PW) ) {
>>     // 로그인 성공.. 그 이후 처리 ..
>>     // 환영메시지나, redirect 등..
>> } else {
>>     // 로그인 실패.. 재시도..
>>     tryLogin();
>>   }
>> }
>> ?>
>> 

>>

>> 이렇게 하면 checkauth() 함수 안에서 처리하고 싶은 것을 모두 처리하면 되므로 편리합니다. LDAP 스키마도 마음대로 바꾸어 사용할 수 있죠. 세션 트래킹은 쿠키등을 사용하면 될테구요.

[Top]
No.
제목
작성자
작성일
조회
1263SSHA 암호방식?
혁진
2001-11-30
6274
1274┕>Re: SSHA 암호방식?
박근오
2001-12-04 13:12:55
6878
1261SOS T.T
조준용
2001-11-30
6224
1262┕>Re: SOS T.T
박근오
2001-11-30 18:53:57
6719
1259바이너리와 스트링값의 구별법??
김석훈
2001-11-29
6317
1268┕>Re: 바이너리와 스트링값의 구별법??
이윤원
2001-12-03 15:19:48
7428
1251LDAP을 이용한 인증과, 자료실 구축
강석원
2001-11-29
6344
1252┕>Re: LDAP을 이용한 인증과, 자료실 구축
최영봉
2001-11-29 11:04:42
6522
1256 ┕>Re: Re: LDAP을 이용한 인증과, 자료실 구축
강석원
2001-11-29 16:16:03
6784
1257  ┕>Re: Re: Re: LDAP을 이용한 인증과, 자료실 구축
최영봉
2001-11-29 18:22:31
6683
1260   ┕>감사합니다. 최영봉님.. 하지만....
강석원
2001-11-30 04:38:12
6391
1249[질문]openldap에서 구현되지 않은 matching rule..
sun jung
2001-11-28
5954
1253┕>Re: [질문]openldap에서 구현되지 않은 matching rule..
최영봉
2001-11-29 11:42:53
7015
1254 ┕>Re: Re: [질문]openldap에서 구현되지 않은 matching rule..
윤성철
2001-11-29 13:14:26
6497
1255  ┕>Re: Re: Re: [질문]openldap에서 구현되지 않은 matching rule..
최영봉
2001-11-29 14:51:45
6484
1248acl에서 권한 level 중 selfwrite
최병희
2001-11-26
5880
1247답변에 감사하며 하나더..^^
홍민정
2001-11-26
6098
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다