2009-09-14 50 views
3

我處於需要在ASP.NET網站和WordPress之間自動授權用戶的情況。這個想法是,一旦你登錄到ASP.NET網站,如果你瀏覽WP頁面,你自動登錄,反之亦然。在ASP.NET和WordPress之間共享身份驗證

在ASP.NET中,我可以授權用戶對WP數據庫,但這是我能想到的,所以問題是。

- 如何啓用這種按方向認證方案?

-Zubair

回答

0

有兩種不同的服務器端腳本,很難創建單向認證。由於WP使用cookies,因此您可能會嘗試使用Cookie對用戶進行身份驗證。創建一種機制來檢查用戶計算機中是否存在有效的WP Cookie,然後從Cookie中讀取以對用戶進行身份驗證。

5

我有一個類似的問題,我有一個ASP.net應用程序(第三方)和一個PHP應用程序(內置)。我已經修改與代碼,只需幾行的ASP.net應用程序,因此它的工作是這樣的:

  1. 用戶登錄到ASP.net應用
  2. 的ASP.net應用程序設置會話cookie(這是自動的)
  3. 修改:ASP.net使用會話ID(位於cookie中)和用戶名向數據庫添加一行PHP應用程序讀取ASP.net會話cookie並獲取會話ID
  4. PHP應用程序在數據庫中搜索會話ID,如果找到它,它會自動的角度講具有相關聯的用戶名會話發現

我還增加了到期時間爲會議,以儘量減少假冒possibilies ...

+0

這似乎是可行的,因爲.NET和WP都託管在同一個域中,所以我認爲cookie共享更容易。由於我沒有在PHP的經驗,我需要知道 - 如何閱讀PHP中的ASP.NET會話cookie(示例)? - 我看到WP設置一個auth-cookie登錄像'$ ABC $ XYZ $ ABCDEFGHIJKL ..',ASP.NET如何讀取它以預先驗證同一個用戶? – 2009-09-15 05:34:41

+0

這裏是關於cookie的概述,還需要找出當前用戶名並將其添加到數據庫表中,但它是不是一項艱鉅的任務。http://www.php.net/manual/en/features.cookies.php (PS:如果你喜歡我的回答,請將它表明出來,或者將它標記爲已接受) – Palantir 2009-09-15 06:34:32

+0

感謝您的幫助,我想我已經找到了一個解決方案來自ASP.NET的自動授權用戶 - > WP,其他方式我們已經決定把一個鏈接到login.aspx頁面。我將盡快分享PHP代碼。 – 2009-09-16 06:08:21

0

通過SetCookie()方法從PHP發送Cookie,然後讀取ASP.Net餅乾通過閱讀cookies collection(因爲cookie的名稱發生變化)。然後解碼url ..(在ASP.Net中你將得到加密的url,特殊字符被替換爲(#-->%23 , @--->%40 etc..)

相關問題