2014-05-22 5 views
0

나는 서비스 (WCF)를 소비하는 2 개의 웹 사이트를 가지고 있습니다. 사용자의 인증은 서비스에서 수행되어 하나의 사이트에 액세스합니다. 두 사이트 모두에 액세스하도록이 인증을 만드는 방법은 무엇입니까? 서비스 (WCF)에 쿠키를 저장하고 두 사이트에 모두 액세스 할 수 있습니까?다른 도메인의 공유 쿠키 서비스 (WCF)

어떻게 할 수 있습니까?

감사합니다.

+0

당신이 사용하고있는 인증 방식을 명확히 할 수 ? SSO? FormsAuth, 오윈? – Domin8urMind

+0

FormsAuthentication – user2568768

답변

0

이것은 매우 간단합니다. 일단 응용 프로그램에서 FormsAuthentication.SetAuthCookie를 호출했습니다. 쿠키는 생성/암호화되어 사용자에게 제공됩니다. 인증 목적을 위해 그 쿠키를 소비하는 다른 웹 사이트에 대한 ,

  1. 이 같은 쿠키 이름/도메인
  2. 해독 할 수 있습니다으로해야합니다,
  3. 와는 여전히 유효합니다.

는이 작업을 수행하려면, 당신은 단순히 키를 확인해야하고 이름은 각 응용 프로그램에 대한 웹 설정에서 동일 : 예에서 : http://msdn.microsoft.com/en-us/library/vstudio/eb0zx8fc(v=vs.100).aspx

<configuration> 
    <system.web> 
    <authentication mode="Forms" > 
     <!-- The name, protection, and path attributes must match 
      exactly in each Web.config file. --> 
     <forms loginUrl="login.aspx" 
     name=".ASPXFORMSAUTH" 
     protection="All" 
     path="/" 
     domain="contoso.com" 
     timeout="30" /> 
    </authentication> 

    <!-- Validation and decryption keys must exactly match and cannot 
     be set to "AutoGenerate". The validation and decryption 
     algorithms must also be the same. --> 
    <machineKey 
     validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB8CB5CDA1742572A487D9401E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE" 
     decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F" 
     validation="SHA1" /> 
    </system.web> 
</configuration>