1

평상시처럼 이것은 최고 경영자의 이상하고 협상 할 수없는 요청입니다. 어쨌든, 이야기는 다음과 같습니다 : 나는 PHP를 사용하여 원격 Microsoft Exchange 2010에 대해 인증하는 방법

  • 그것에 로그인 폼이 (CentOS는, PHP를 사용하여 아파치를) 영국 가정 해 봅시다, 위치 (A)에서 웹 사이트를 구축하며, 사용자가 입력 할 수 있습니다
    • Exchange 2010 사용자 이름 (전자 메일) 및 로그인 할 암호 Exchange 2010이 위치 B에있는 경우 US라고 말하십시오.

    그래서 간략하게는 원격 Exchange 2010으로 인증 할 수있는 방법이 무엇입니까?

    가 나에게 던진 몇 가지 제안을하지만 나는이 첫 번째 장소에서 할 수도 모르겠습니다 ...

    • 우리의 Exchange 2010의 OWA를 활용할 수 있습니까?
    • ActiveSync를 사용할 수 있습니까?
    • EWS를 사용할 수 있습니까? (Exchange 웹 서비스)

    저는 Microsoft의 관련 기술에 익숙하지 않아 짧은 질문에 웹 서비스 방법 또는 비슷한 인증 방법이 있습니까?

    안부

  • 답변

    1

    당신은 아마하는 Exchange 서버가 LDAP를 사용할 수 integrated.Then입니다 액티브 디렉토리에 대한 인증을 의미 :

    Authenticating in PHP using LDAP through Active Directory

    +1

    정보 주셔서 감사합니다 :) 를 들어, 따라서 Exchange가 언급되었다 :

    또한,이 @ 좀 걸릴 수 있습니다 우리가 그것을 활용할 수 있는지를 확인하십시오.예를 들어, ActiveSync? OWA? – forestclown

    1

    나는 소스 포지에 adLDAP 라이브러리로 보일 것이다. 이메일을 보내면 문서를 보내 드리며 설정하는데 약 20 분이 소요되며 MS Active Directory 만 있으면 LDAP가 필요하지 않습니다. KWSoutherlandJr 야후 닷컴에서.

    adLDAP.courceforge.net

    1

    예, 당신은 내가 관리 API의의를 추천,이 작업을 수행 할 Exchange 웹 서비스를 사용할 수 있습니다. 여기에서 다운로드하십시오 : http://www.microsoft.com/download/en/details.aspx?id=13480, 설명서는 여기에 있습니다 : http://msdn.microsoft.com/en-us/library/dd633710%28EXCHG.80%29.aspx

    여기 어떻게 할 수 있습니까? 첫째는 올바른 네임 스페이스를 포함

    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); 
    
    // If you've got a dodgy SSL cert on your exchange box then do this: 
    
    System.Net.ServicePointManager.ServerCertificateValidationCallback = 
        delegate(
         Object obj, 
         X509Certificate certificate, 
         X509Chain chain, 
         SslPolicyErrors errors) 
        { 
         return true; 
        }; 
    
    service.Credentials = new WebCredentials(Username, Password, domain); 
    
    service.Url = new Uri(url); 
    
    // this will fail if the username+password are incorrect: 
    
    Folder.Bind(service, WellKnownFolderName.MsgFolderRoot); 
    
    +0

    PHP에서 PHP를 사용하기를 원한다는 것을 깨달았습니다. 번역에 도움이 필요하면 알려주세요. – Rocklan

    +0

    감사합니다 :) NetworkCredentials/NTLM을 사용하는 PHP 버전을 발견했습니다. 그러나 WebCredentials를 사용하여 PHP에서이를 수행하는 방법을 모르십니까? (사용자가 이메일을 사용자 이름으로 사용하는 곳) – forestclown

    1

    당신은 EWSWrapper 시도 줄 수 - http://ewswrapper.lafiel.net/ 그것은 Exchange 웹 서비스에 대한 PHP 래퍼를 :

    // use the exchange library: 
    
    using System.Security.Cryptography.X509Certificates; 
    using Microsoft.Exchange.WebServices.Data; 
    

    다음이와 비슷한 코드를 작성합니다. Ex Server로 인증 할 수있는 방법과 EWS로 수행 할 수있는 일을 알려줍니다. 파이썬 버전은 다양한 인증 방법을 거치면서 조금 더 나은 인증을 제공합니다. Access Exchange Web Services with PHP and cURL

    환호가 ~ 내가 LDAP를 언급하지만 LDAP를 배포 설치에 우리를 필요로하고