[英]How to share Joomla login session from one joomla website to one ASP.Net MVC website
我有一個Joomla網站和另一個基於ASP.NET MVC的Web應用程序。 我希望在登錄Joomla網站后自動登錄到另一個應用程序。
例如,在Joomla網站上成功登錄后,是否有可能自動向此基於ASP的應用發出新請求,並在查詢字符串中嵌入用戶ID和密碼(當然是加密的)。 然后,該ASP應用程序將獲取該信息並解密密碼並執行自動登錄?
這是如何使用網絡服務將Joomla登錄會話從一個網站共享到另一個網站的方法? 一個Joomla網站與另一個Joomla網站的示例。
我希望看到代碼示例來說明解決方案。
我對ASP .NET MVC並不熟悉,但是您可以通過參考為Joomla創建插件來攔截Joomla登錄事件。 它可以是一個非常簡單的用戶插件 ,您可以使用它訪問許多事件,尤其是OnUserLogin
和OnUserAfterLogin
。 您在這兩個事件中放入的代碼將使用CURL或其他任何技術來發布ASP請求。
很基本的代碼結構:
<?php
defined('_JEXEC') or die;
class Plgtest extends JPlugin {
public function onUserLogin($user, $options = array()) {
// The user has now logged into Joomla - all user info is available in variable $user
// Do some PHP stuff here to "issue a new request to this ASP based app"
// Example PHP code for ASP login at https://stackoverflow.com/questions/25539787/how-to-post-asp-net-login-form-using-php-curl
}
}
?>
有關從PHP登錄到ASP的PHP代碼,請參見此問題 。
我不熟悉Joomla或ASP.NET,但我認為最簡單的方法是將會話存儲在普通位置。 這可以是兩個系統都可以訪問和讀取會話數據的數據庫。
該解決方案依賴於以下事實:一個網站作為另一個網站的子域存在,或者系統共享的Cookie不能被兩個網站讀取。 檢查此鏈接以獲取另一種解決此限制的解決方案。 這是一個麻煩的解決方案,但可能。
正如我說過的,我不知道這兩個框架,但是我想您將不得不修改在兩個系統中讀取/寫入會話的方式。
希望這可以幫助您朝正確的方向發展。
最好的祝福。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.