Microsoft MVP성태의 닷넷 이야기
How to support Basic + Windows authentication mode in WCF(RESTful service) [링크 복사], [링크+제목 복사],
조회: 16462
글쓴 사람
꼭지 (jungsoo.seo at sap.com)
홈페이지
첨부 파일
[iis.jpg]   [iis.jpg]    

WCF를 이용하여 RESTful webservice를 구현하고 있는데, 인증 부분에서 문제가 잘 해결이 되지 않네요.
첨부이미지에서 처럼 IIS의 Virtual directory에서 Windows 인증과 Basic 인증을 모두 활성화 시켜 놓았을 때,
WCF의 configuration이 잘 먹질 않네요. webHTTPBinding을 사용하고 있습니다.
IE에서 접근했을때는 문제가 없는데, client program에서 시도 하였을때는 401 에러를 발생시키네요.
혹시 관련 정보가 있으면 도움 부탁드리겠습니다.
고맙습니다.

 

Web.config
<webHttpBinding>
      <binding name="BPCServicesBinding" closeTimeout="01:00:00" openTimeout="01:00:00"
       receiveTimeout="01:00:00" sendTimeout="01:00:00" maxBufferSize="2147483647"
       maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
       transferMode="Buffered">
            <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
             maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
            <security mode="TransportCredentialOnly">
                  <transport clientCredentialType="Windows" />
            </security>
      </binding>
</webHttpBinding>


Client program:

        Dim sUri As New Uri(uri)
        Dim oRequest As HttpWebRequest
        Try
            oRequest = WebRequest.Create(sUri)
            oRequest.Method = method '"POST"
            oRequest.ContentType = contentType '"application/json"
            oRequest.ContentLength = postBytes.Length
            oRequest.Credentials = New NetworkCredential(userName, password)










[최초 등록일: ]
[최종 수정일: 1/22/2010]


비밀번호

댓글 작성자
 



2010-01-22 03시14분
[꼭지] Q&A는 회원가입을 하지 않아도 작성이 가능하구요. ^^
[guest]
2010-01-25 03시14분
답변이 많이 늦었습니다. 이런 류의 질문들은 환경 구성이 동반되어서 ^^; 마음 단디 먹고 시간을 내어야 되기 때문에 답변이 지연되기 마련이니 이해해 주세요. ^^

이미 해결하셨을지도 모르겠지만.

그나 저나... 저는 ^^; 이상이 없습니다. 아주 잘됩니다.

일단, 제가 테스트 한 과정은 별도 토픽으로 써 놓을 테니 참고하시고요. 문제 해결 잘 되기를 바랍니다. ^^
kevin25
2010-01-25 04시20분
[꼭지] ^^ 우선 확인까지 해주셔서 감사합니다.
다행은 아니지만, 아직 해결이 안되구 있는 있는 문제이네요.
케빈님의 토픽을 기다려봐야 할 거 같은 현재의 상태이네요. ^^

web.config에서 아래 부분을 어떻게 설정을 하셔서 확인을 하셨는지 궁금하네요.
  <security mode="TransportCredentialOnly">
  <transport clientCredentialType="Windows" />

제 경우에선, server + client가 한 머신에 있는 상황에서는 잘 됩니다. 아마 windows 인증으로 접근이 되어서 그러지 싶습니다.
다른 머신에서 해당 서버로 접근할때가 문제가 발생되는데, 아마 이때는 windows가 아닌 basic인증으로 접근을 해서 문제가 발생되는 것 같습니다.


[guest]
2010-01-26 12시19분
아래의 3가지 글을 참고하십시오.

WCF - webHttpBinding 구현 예제
; http://www.sysnet.pe.kr/Default.aspx?mode=2&sub=0&detail=1&wid=833

WCF - webHttpBinding 윈도우 인증 구현 예제
; http://www.sysnet.pe.kr/Default.aspx?mode=2&sub=0&detail=1&wid=834

WCF - webHttpBinding + IIS 6.0 윈도우 인증 구현 예제
; http://www.sysnet.pe.kr/Default.aspx?mode=2&sub=0&detail=1&wid=835

제가 해본 바로는 "서정수"님이 위의 내용을 실수하셨을 것 같지는 않고,,, 아마도 또 다른 요인이 있을 것 같다는 생각이 듭니다. 암튼, 그래도 한번 해보시고 결과 좀 알려주세요. ^^ (참, 그리고 jungsoo.seo@sap.com 메일주소로는 메일이 안 가네요. 혹시 다른 공용 메일 주소 있으면 좀 남겨주십시오.)
kevin25

... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5485이재원4/17/20216549교재 315페이지 내용 질문 [3]
5484Syong4/16/202110101윈폼 기반의 응용프로그램 dll 참조와 32,64bit 빌드 관련 문의 [4]
5483한예지 donator4/15/20215688익명 형식과 var 관계 질문 있습니다. [2]
5482질문4/13/20217448WPF를 위한 MVVM toolkit 선택과 관련한 문의드립니다. [4]
5480한예지 donator4/5/20217753GetHashCode 질문있습니다! [2]
5479한예지 donator4/4/20216872Equals를 닷넷에서 어떻게 구현했는지 보고 싶을 떄는 어떻게 해야 될까요? [2]
5478갑자기C#3/23/20219361C# Winform에서 TextBox없이 입력 받을 수 있나요? [7]
5477달팽이3/18/20216303c# 도형을 그린후 편집하는 방법이 궁금합니다. [2]파일 다운로드1
5475dimo...3/2/20217243POH가 .NET 5에 추가된 것으로 알고 있습니다. POH가 유용한 경우는 어떤 경우가 있을까요? [1]
5474Syong2/26/20216756사용자 지정 컨트롤 생성시 Invalidate, Update, Refresh의 차이점 [2]
5473한예지 donator2/25/20216636디자인 타임이 뭔지 궁금합니다!! [5]
5472dimo...2/24/20217429등록하지 않고 ocx를 사용하는 `키움`관련 포스팅을 따라가다 질문드립니다. [9]
5471남산2/21/20216116MarshalDirectiveException 에 대한 질문입니다. [1]
5470한예지 donator2/7/20216036yield 질문있습니다!! [2]
5469유호성2/6/20215586Parallel + Task.Run 동시 실행 환경에서 간헐적으로 Task.Run()에서 null이 리턴됩니다. [3]파일 다운로드1
5467hero...2/4/20215935실행 환경에 따른 Thread.Sleep 딜레이 차이 질문 [8]
5466pr1/29/20215826c# winform load시 작업표시줄에 뜨지 않는 현상을 겪으신적이 있으신가요? [4]파일 다운로드1
5465영귤1/28/20216223두 번째 await 부터는 스레드 개수만 늘어나는 것이 아닌가요 [1]
5464민우1/26/20216499C# 빌드시 코드 치환되는걸 확인하는 방법 문의 [2]
5463한예지 donator1/24/20217223Parameters.AddWithValue 와 Parameters.Add 의 차이점이 궁금합니다. [2]
5462C#초보1/22/20217513사용자 정의 메시지 전달이 가능한가요? [2]
5461한예지 donator1/22/20216902AsEnumerable() 메서드 질문 있습니다! [2]
5459한예지 donator1/21/20216223typeof와 GetType의 차이점 질문있습니다. [2]
5458진우1/20/20217127C# DataTable 에 SQL 쿼리문을 실행하는 방법 문의 (LINQ 사용하지 않고) [6]
5456성민1/17/202175499.0 출간 계획이 있으신가요? [2]
5455한예지 donator1/16/20216613교재 194페이지 콜백메서드 질문 있습니다! [5]
... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...