게시판 본문 Active Directory Service Interface - Read Only

re: 원격에 있는 웹에 AD에 로그인되어 있는 유저만 접속할수 있도록 ADSI 프로그래밍
작성자: 송원석
작성일시: 2005-08-18 21:20,  조회수: 3,148
그러시다면 간단하게나마 제가 알고 있는 범위안에서 개념을 말씀드리도록 하겠습니다. 물론 지금부터 말씀드릴 방법도 완벽한 방법은 아니고 그나마 일말의 가능성이라도 보인다는 정도로만 생각해주시기 바랍니다.

이미 말씀드린 것처럼 기본적으로 엑티브 엑스 컨트롤이 아니고서 원하시는 기능은 불가능하다는 것이 제 의견입니다. 그럴 수 밖에 없는 것이 이는 웹 브라우저를 통해서 로컬 시스템의 정보를, 그것도 계정 정보라는 보안상 민감한 정보를 서버로 전송하는 기능이기 때문입니다. 만약 이러한 정보들을 자유자재로 서버로 전송하는 것이 가능하다면 사용자들의 컴퓨터에 존재하는 그 밖의 수 많은 정보들도 본인 모르게 노출될 수 있다는 결과 밖에는 안됩니다. 그래서 문제가 되는 것이죠. 그렇다면 과연 어떻게 하면 될까요?

그럴듯한 방법을 찾기 위해서 ASP 의 가장 기본적인 부분들을 살펴보도록 하겠습니다. 사용자의 웹 브라우저로부터 웹 서버로 전달되는 정보는 기본적으로 Request 개체를 통해서 전달됩니다. 따라서 이 개체를 집중적으로 뒤져보는 것으로부터 실마리가 시작됩니다. 결론부터 말씀드리면 엑티브 디렉터리 도메인 인증된 사용자의 로그인 정보가 ASP 로 전달된 경우 다음의 코드를 실행시키면 사용자의 아이디를 가져올 수 있습니다. 물론 그렇지 않다면 빈 문자열만 나오죠.
Request.ServerVariables("LOGON_USER") 
따라서 어떻게 해서든 웹 브라우저가, 물론 이 경우에는 인터넷 익스플로러가 그 대상입니다만, 위의 정보를 채워서 보내도록 해야 합니다. 그러기 위해서는 다음과 같은 코드를 호출하면 됩니다.
If Request.ServerVariables("LOGON_USER") = "" Then
    Response.Status = "401 Authorization Required"
    Response.End
End If
사용자가 위의 코드가 포함된 페이지를 요청하면 처음에는 LOGON_USER 정보가 빈 문자열이므로 HTTP 401 오류가 인터넷 익스플로러로 리턴됩니다. 그러면 인터넷 익스플로러는 자동적으로 현재 사용자가 컴퓨터에 로그인할 때 사용한 아이디와 암호, 그리고 도메인 정보로 로그인을 시도하고, 만약 시도가 성공하는 경우 페이지를 정상적으로 보여줄 뿐만 아니라 LOGON_USER 정보에 실제 사용자의 아이디가 저장되게 됩니다. 따라서 이 아이디 정보와 ADSI 로 확인한 아이디 정보를 비교하면 되는 것입니다.

물론 위와 같은 경우 자동 로그인이 실패하게 되면 마치 컴퓨터에 로그인 할 때 볼 수 있는 것과 비슷한 로그인 창이 나타나게 됩니다. 그리고 3 회의 시도가 계속해서 모두 실패하면 오류가 발생하게 되죠. 이 방법의 문제는 로그인 창이 나타나는 것을 제어할 수 있는 방법이 전무하다는 점과 웹 서버가 사용자와 동일한 도메인 컨트롤러에 등록되어 있어야 한다는 점입니다. 그리고 제 예상으로는 이렇게 이론적인 말씀만 드릴때보다 실재로 작업을 해보시면 이런저런 문제점들이 더 발생할 것이라고 생각됩니다.

감사합니다.
IP 주소: 61.84.82.165
전체 2 건의 댓글이 존재합니다.

송원석

그리고 http://www.egocube.pe.kr/adsi_0007.asp#6 를 참고해보시기 바랍니다.
2005-08-18 21:23

송원석

본문의 설명과 유사한 기법이 사용된 프로그램입니다. 감사합니다.
2005-08-18 21:23
전체 421 건의 게시물, 17 페이지로 구성된 Active Directory Service Interface 게시판의 10 페이지입니다.
게시물
199

re: ADSI에러 문의드립니다.

cool

2005-09-18 5,650
198

Exchange Server 2003 계정 추가 문의

302

2005-09-05 3,354
197

re: Exchange Server 2003 계정 추가 문의 [2]

송원석

2005-09-05 3,362
196

re: Exchange Server 2003 계정 추가 문의

302

2005-09-07 15,902
195

re: Exchange Server 2003 계정 추가 문의

송원석

2005-09-07 3,115
194

re: Exchange Server 2003 계정 추가 문의

302

2005-09-07 3,199
193

re: Exchange Server 2003 계정 추가 문의 [1]

송원석

2005-09-07 3,155
192

원격에 있는 웹에 AD에 로그인되어 있는 유저만 접속할수 있도록 ADSI 프로그래밍

LANDY

2005-08-18 3,444
191

re: 원격에 있는 웹에 AD에 로그인되어 있는 유저만 접속할수 있도록 ADSI 프로그래밍

송원석

2005-08-18 3,029
190

re: 원격에 있는 웹에 AD에 로그인되어 있는 유저만 접속할수 있도록 ADSI 프로그래밍

LANDY

2005-08-18 3,033

re: 원격에 있는 웹에 AD에 로그인되어 있는 유저만 접속할수 있도록 ADSI 프로그래밍 [2]

송원석

2005-08-18 3,148
188

감사합니다. 이제는 NT 로그인을 폼으로 해야겠네요.

LANDY

2005-08-19 3,054
187

ADSI 에서 PW 가 안먹네요. 살려주세요

닷넷탱

2005-07-29 3,184
186

re: ADSI 에서 PW 가 안먹네요. 살려주세요

송원석

2005-07-29 3,150
185

re: ADSI 에서 PW 가 안먹네요. 살려주세요

닷컴탱

2005-07-29 3,677
184

re: ADSI 에서 PW 가 안먹네요. 살려주세요

송원석

2005-07-29 3,266
183

대단히 감사합니다. ^^* ( 내용없음)

닷컴탱

2005-07-29 3,120
182

안녕하세요 ADSI로 머 만들구있는데 .. 만드는게 뻔하지만.ㅡ.ㅡ 웹사이트 홈디렉토리 물리경로를 얻고싶은데요 [1]

jeep

2005-07-22 3,039
181

re: 안녕하세요 ADSI로 머 만들구있는데 .. 만드는게 뻔하지만.ㅡ.ㅡ 웹사이트 홈디렉토리 물리경로를 얻고싶은데요 [2]

송원석

2005-07-22 3,211
180

re: 이것은...

jeep

2005-07-22 3,070
179

re: 이것은...

송원석

2005-07-22 2,979
178

re: 홋...

jeep

2005-07-22 2,925
177

ADSI...넘 어려고 험난한길....가르쳐 주세요..ㅡ.ㅡ

왕초보

2005-07-13 2,977
176

re: ADSI...넘 어려고 험난한길....가르쳐 주세요..ㅡ.ㅡ

송원석

2005-07-14 3,140
175

[질문] Active Directory 의 사용자 계정 가져오기

.JIN

2005-07-08 4,295