簡體   English   中英

如何從一個joomla網站共享一個Joomla登錄會話到一個ASP.Net MVC網站

[英]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登錄事件。 它可以是一個非常簡單的用戶插件 ,您可以使用它訪問許多事件,尤其是OnUserLoginOnUserAfterLogin 您在這兩個事件中放入的代碼將使用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不能被兩個網站讀取。 檢查此鏈接以獲取另一種解決此限制的解決方案。 這是一個麻煩的解決方案,但可能。

Cookie限制解決方法(堆棧溢出)

正如我說過的,我不知道這兩個框架,但是我想您將不得不修改在兩個系統中讀取/寫入會話的方式。

希望這可以幫助您朝正確的方向發展。

最好的祝福。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM