2009-12-02 4 views
0

다음과 같은 문제가 있습니다. asp.net 페이지를 사용하여 IIS에서 호스팅되는 일부 파일에 대한 액세스를 보호하려고합니다.ASP.NET 인증을 처리하는 방법

var request = WebRequest.Create("www.smth.com/protectData.aspx") 
       as HttpWebRequest; 
request.Credentials = new NetworkCredentials("john doe", "john"); 
request.PreAuthenticate = true; 
var response = request.GetResponse(); 

어떻게 호출 페이지 (protectData.aspx)에 전송 된 인증 정보를 읽을 수 : 페이지를 사용하여 다른 응용 프로그램에서 호출 할 것인가?

자격 증명을 확인하기위한 코드가 있습니다 ... 맞춤 멤버십을 구현하려했지만 HttpContext.Current.User은 null입니다. 영문 페이지가 사용자 정의 정책에 인증 된 WCF 서비스를 호스팅하는 웹 응용 프로그램에서 호스팅되는 :

는 system.serviceModel>
serviceAuthorization principalPermissionMode = "사용자 정의"
authorizationPolicies
을 POLICYTYPE = "CustomPolicy를 추가 .CustomPolicy, CustomPolicy "/>
authorizationPolicies
는 system.serviceModel

aspx 페이지의 경우 현재 보안이 설정되어 있지 않습니다. 기본적으로 요청에서 자격 증명을 가져 와서 기존 코드를 사용하여 유효성을 검사하기 만하면됩니다.

이 어떤 도움이 아드리안

+0

당신은 IIS 설정이 무엇인지, 특히 인증을위한 세부 사항을 제공 할 수 있습니까? – Irfy

+0

질문이 –

답변

1

을 감사합니다 당신은 기본적으로 두 가지 옵션이 있습니다. HTTP 전송 인증 또는 폼 기반 인증을 사용할 수 있습니다.

전송 인증의 경우 클라이언트가 액세스하려고하는 리소스를 보호하도록 IIS를 설정해야합니다. 이 리소스는 파일 또는 ASPX 페이지 일 수 있습니다. 그러면 ASPX 페이지에서 HttpContext.Current.User 변수를 읽고 해당 사용자가 리소스에 액세스 할 수 있는지 여부를 결정할 수 있습니다.

Forms Based Auth의 경우 IIS는 요청을 인증 할 필요가 없습니다. 대신, 양식의 웹 양식을 작성한 다음 요청에서 사용자 이름/암호를보고 액세스 허용 여부를 결정할 수 있습니다.

폼 기반 인증 (FBA)의 변형은 POST 본체에 사용자 이름/암호를 게시하여 ASPX 페이지에서 액세스 허용 여부를 읽고 해독하고 결정할 수 있도록하는 것입니다.

+0

으로 업데이트되었습니다. HttpWebRequest를 사용하여 Form Based Auth가 완료된 방법을 보여줄 수 있습니까? –

+0

알아 냈어, 고마워. –