간단한 토큰으로 특정 응용 프로그램에 대한 액세스를 제한하기 위해 Data Services에 간단한 인증을 추가하고 싶습니다.OData - 데이터 서비스 단순 인증
도메인 인증 또는 양식 인증이 필요하지 않습니다.
는 여기 인증에 대해 많이 읽어http://franssenden.wordpress.com/2010/06/14/custom-security-odata-service-wcf-data-services/
http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/06/03/10482.aspx
http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/01/15/10119.aspx
http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/01/10/10100.aspx
불행히도 모든 일의 loooot을 요구한다. 무엇보다도 사용자 지정 IHttpModule을 만드는 중입니다. 더 간단한 해결책이 있어야합니다.클라이언트 (WPF)에서 개체 컨텍스트를 만들 때 자격 증명을 추가 할 수 있다는 것을 알고 있습니다.
Uri uri = new Uri("http://localhost/myapp/odata.svc");
MyEntities ent= new MyEntities (uri);
ent.Credentials = new NetworkCredential("token", "zx5as9vxc5sa9h0vb6523cv56");
하지만 사용자 지정 IHttpModule을 구현하지 않고 어디에서 읽을 수 있습니까? 그것은 "의 약자 사용자 이름, 암호를 가져옵니다 위해 나는 사용자 정보에 익숙하지 않다
protected override void OnStartProcessingRequest(ProcessRequestArgs args)
{
string cred = args.OperationContext.AbsoluteRequestUri.UserInfo;
}
하지만 설명 :
은 내가 예를 들어, 데이터 서비스의 구현 클래스에서 뭔가를 사용할 수있는 생각했다. ..)그래서 나는 두 가지 질문이있다 : 나는 ent.Credentials = 새로운 NetworkCredential을 입력하여 포함 된 자격 증명을 읽을 수
를 ("토큰", "zx5as9vxc 5sa9h0vb6523cv56 ");
어디에서 클라이언트 응용 프로그램에서 UserInfo를 설정하고 OnStartProcessingRequest 메서드에서 사용할 수 있습니까?
감사합니다, 다니엘 Skowroński
합니다 (하나로, OData 프로토콜의 .NET 구현입니다) 인증 및 WCF 데이터 서비스에 대한 게시물의 일련있다
감사합니다. 인증 기능을 만들기 위해 http://blogs.msdn.com/b/astoriateam/archive/2010/07/21/odata-and-authentication-part-6-custom-basic-authentication.aspx를 사용했습니다. . 나는 커스텀 커스텀 HttpModule을 생성하지 않고 그것을했다. 단순히 SSL + 클라이언트 evnt ctx.SendingRequest + = 새로운 EventHandler (OnSendingRequest); + OData 서비스 이벤트의 서버 측 보호 된 무효 OnStartProcessingRequest (ProcessRequestArgs args) –