TL; DR:我想做出Moodle的安裝和基於身份的ASP.NET網站共享認證。如果他們有一個登錄頁面,那麼效果會更好,但登錄到其中一個應該會自動登錄到另一個登錄頁面;註銷也應該共享。整合的Moodle和ASP.NET 2.1身份
我有一個Moodle的安裝(中號)在www.example.com/moodle,在www.example.com其他網站(Ø)。
- Ø使用.NET 4.5.2書面和有需要身份驗證進入的地區,使用ASP.NET 2.1身份管理的一個自定義的用戶模型。這個模型並不是特別複雜。它本質上是開箱即用的模型,但是使用整數ID而不是GUID。
- 中號是2.6版本,打算升級到在不久的將來的最新版本(目前爲3.1)。
- 兩者均可通過公共互聯網訪問;沒有要求在專用網絡上訪問它們。
- 我知道沒有計劃將M或O移動到不同的域上。但是,如果其中一個或兩個都要移動,我想他們會轉移到example.com的子域。
我想創建一個單點登錄系統,允許一個登錄中號也使用戶登錄到Ø。就目前而言,我正在使用Moodle的外部數據庫身份驗證插件,其中M指的是數據庫O。雖然這有效,但確實需要用戶登錄兩次。我想設置它以便登錄到M或O也會將用戶登錄到其他站點。
- 我能夠從PHP和.NET代碼創建匹配散列。除非與解決方案特別相關,否則請考慮創建超出範圍的哈希值。
- 的中號一些用戶正在使用的Moodle的內置認證。但是,除非與解決方案特別相關,否則請考慮用戶遷移超出範圍。
- 我寧可如果可能的話,Ø來管理用戶。 M作爲Moodle的本質,必須爲用戶提供自己的記錄,但如果它們與外部數據庫插件使用的記錄相似,那麼我希望它:只是說用戶存在並且可以在別處找到。
事情我都試過了,調查,或考慮:
- Moodle的外部數據庫插件。這是目前的工作方式。它有點作品,但需要多次登錄。
- 自動執行多個登錄。我已經嘗試使用發佈的憑證,在登錄時從服務器向站點各自的登錄表單發出HTTP請求,將cookie從響應中提取出來,然後將該cookie發送回客戶端。這也行得通,但它充其量是笨重的,並且依賴於餅乾沒有不同步。
- 使用PHP的DOTNET庫和做...什麼。我可以找到的所有文檔都說DOTNET不適用於.NET 2.0,3.0或3.5以外的任何其他文檔。我使用4.5.2,所以這看起來像是一個不行。即使我可以使用更新版本的.NET,我也不知道該怎麼做。
- 以某種方式讓Moodle接受ASP.NET Identity cookie代替它自己。這似乎是最有成效的過程,因爲它是一個單一的cookie來管理。
爲了結束:我想打中號和Ø共享認證。如果他們有一個登錄頁面,那麼效果會更好,但登錄到其中一個應該會自動登錄到另一個登錄頁面;註銷也應該共享。這是可能的,並且有人知道我應該怎麼做嗎?
這看起來像什麼,我正在尋找,謝謝。 –