Farklı bir sunucu üzerinde bir PHP uygulaması ile SharePoint GGG?

3 Cevap php

Ben bir SharePoint sitesine ve özel bir PHP tabanlı site wich farklı bir etki alanında bulunan arasında bir SSO uygulamak gerekiyor. Ben PHP sitesinde oturum açmak için SharePoint kullanıcı hesaplarını kullanmanız gerekir. (Ben PHP kaynak üzerinde tam bir CONTROLL olacak)

Bu mümkün mü? Herhangi bir ipucu ve püf noktaları?

3 Cevap

Benim varsayım Eğer php app / etki alanı üzerinde tam kontrole sahip, ancak farklı bir takım sharepoint sunucu yönetmek olduğunu. Ayrıca SSO işlevsellik için basit bir Web Bölümü oluşturmak için SharePoint ekip sorabilirsiniz varsayalım.

Bu durumda ise, bunu sitenize bir bağlantı vardır bir Web Bölümü oluşturmak için SharePoint ekip sorabilirsiniz. Kullanıcı bağlantıyı tıkladığında, istek sharepoint sunucusuna geri yapılır, SharePoint Server, kullanıcının oturum açma adını alır genel anahtarını kullanarak şifreler, ve php sitede bir url ekler sonra tekrar bir yönlendirme olarak gönderir tarayıcıya. Yani konumu gibi görünüyor:

https://your.php.domain/sso.php?logon=encrypted_users_logon_name&api_key=some_token

Sizin sso.php komut api_key SharePoint ortağı geçerli bir simge olduğunu doğrulamak, ve sonra daha fazla fantezi alabilirsiniz içeri almaya çalışırken kullanıcı oturum açma adını şifresini ve oturum açma onaylamak için sharepoint sitede bir geri olacak isteği biraz zaman penceresi içinde meşru, ya da şifreli oturum açma adı içine fırında, ama bu sharepoint ortağı gelen istekleri güven varsayarak, bunu yapmak için bir iskelet yoldur.

Sharepoint. Net geliştiriciler muhtemelen istediğiniz şifreleme yapmak mümkün olacak, böylece hem php kullanmak ve. Net kenarları ve onlara şifreleme için kullanılacak anahtar ve şifrelemek için bilgi verebilirsiniz biçimi bir algoritma bulacaktır. bir şey n = logon_name gibi; = damgası sona; Eğer şifresini zaman sona erecek süre sonra ise o, o zaman oturum açma inkar.

Ben bu alanı hakkında çok şey bilmiyorum ama umarım bu doğru yönde bir işaret yardımcı olabilir.

Investigate LDAP...

LDAP kimlik bilgilerini kullanmak için PHP kurabilirsiniz. SharePoint sitesi Active Directory kullanıyorsa, o zaman bir LDAP kaynağı olarak bu dizini ortaya çıkarmak ve PHP uygulamalarında kullanabiliriz.

Automated sign-in...

Işareti her site arasında otomatik olarak gerçekleşmesi olması çok farklı bir konudur. örneğin Zaten MOSS oturum değilim, PHP uygulaması giden bir linke tıklayın ve ben zaten de orada açmış olduğumu bulmak. Bunun için Kerberos anahtarları / doğrulama gibi bir şey kullanarak araştırmak gerekir. Bu dağınık ve zor bir alan bulunuyor.

Evet, biz aynı durum olmuştur, ama biz SSO için php ile birlikte asp.net kullanıyor. asp.net kod pencereleri kimlik doğrulaması yapar ve kullanıcı adı ve benzersiz anahtarını içeren MySQL veritabanı, bir kayıt oluşturur ve bir çerez için bu değerleri atayın. sonra, PHP uygulaması için kullanıcıyı yönlendirir.

php app bu çerez değerleri okur ve otantik isteği sağlamak için veritabanı değerler ile bunları karşılaştırmak. iyi çözüm PHP tek oturum açmayı ve paylaşım noktası PHP ile birlikte çalışma için şu. ama hala php SSO için Kerb_auth_mod kullanmanızı tavsiye ederim. biz sonunda yaptım.