게시판 본문 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 | 2005-09-18 | 5,650 | ||
198 | 2005-09-05 | 3,354 | ||
197 | 2005-09-05 | 3,362 | ||
196 | 2005-09-07 | 15,902 | ||
195 | 2005-09-07 | 3,115 | ||
194 | 2005-09-07 | 3,199 | ||
193 | 2005-09-07 | 3,155 | ||
192 | 2005-08-18 | 3,444 | ||
191 | 2005-08-18 | 3,029 | ||
190 | 2005-08-18 | 3,033 | ||
2005-08-18 | 3,148 | |||
188 | 2005-08-19 | 3,054 | ||
187 | 2005-07-29 | 3,184 | ||
186 | 2005-07-29 | 3,150 | ||
185 | 2005-07-29 | 3,677 | ||
184 | 2005-07-29 | 3,266 | ||
183 | 2005-07-29 | 3,120 | ||
182 |
안녕하세요 ADSI로 머 만들구있는데 .. 만드는게 뻔하지만.ㅡ.ㅡ 웹사이트 홈디렉토리 물리경로를 얻고싶은데요 [1] |
2005-07-22 | 3,039 | |
181 |
re: 안녕하세요 ADSI로 머 만들구있는데 .. 만드는게 뻔하지만.ㅡ.ㅡ 웹사이트 홈디렉토리 물리경로를 얻고싶은데요 [2] |
2005-07-22 | 3,211 | |
180 | 2005-07-22 | 3,070 | ||
179 | 2005-07-22 | 2,979 | ||
178 | 2005-07-22 | 2,925 | ||
177 | 2005-07-13 | 2,977 | ||
176 | 2005-07-14 | 3,140 | ||
175 | 2005-07-08 | 4,295 |