2013-12-19 6 views
1

WCF 개념을 사용하여 간단하게 보안을 유지 하시겠습니까?WCF 용 폼 인증

ServiceContract이 유사하게 나타납니다

[ServiceContract] 
    public interface MovieDb 
    { 
     [OperationContract] 
     string GetData(int value); 

     [OperationContract] 
     string Login(int value); 

     [OperationContract] 
     string Logout(int value); 

    } 

내가 인증 및 권한 부여에 대한 내 MVC 4 응용 프로그램에 FormsAuthentication을 사용하고 있습니다.

내가 생각할 수있는 것은 ServiceContract 클래스 상단에 Authorize 필터 속성을 추가하는 것과 같습니다.

단순한 용어로 된 모든 포인터가 많이 감사합니다. 감사.

답변

3

당신은 사용자 이름/암호 (폼 인증)을 사용하여 WCF를 보호 할 수 있습니다 : 당신이 회원을 사용하기로 결정한 경우

Message Security with a User Name Client

을 서버 측의 WFC 구성에서 인증을 위해 구성원 구성 동작을 추가합니다.

http://msdn.microsoft.com/en-us/library/ff650067.aspx

:
<behavior name="myBehavior"> 
    <serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="myRoleProvider"/> 
    <serviceCredentials> 
     <serviceCertificate findValue="*.mycert.net" storeLocation="LocalMachine" x509FindType="FindBySubjectName"/> 
     <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="myMembershipProvidewr"/> 
    </serviceCredentials> 
</behavior> 

귀하의 WCF 당신은 여기에 추가 정보를 찾을 수 있습니다 간단

[PrincipalPermission(SecurityAction.Demand, Role = "My Role")] 
     public bool GetSomething(string param1) 
     { 
... 

으로 확인 할 수있다
1

나는 MVC에서 매우 유용한 Authorize 키워드를 알고 있지만, 나는 WCF에서 그런 것을 찾지 못했다.

동일한 IIS 응용 프로그램에서 WCF 서비스를 사용하는 경우 Authorize 키워드를 구현 한 다음 WCF를 직접 작성해야 할 수 있습니다. HttpContext를 참조하여 요청이 자동 화되었는지 여부를 확인할 수 있습니다.

일부 추가 정보

는 여기에서 찾을 수 있습니다 :

Does WCF have an equivalent of MVC's [Authorize] attribute?