国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Joomla3 二次開發 增加discuz的登陸驗證方式

Alan / 3398人閱讀

摘要:初次學習,多多指教。補充還有創建分組的數據表名叫在這里創建跟關聯的數據否則是無法登陸的。

  

Joomla3二次開發 要合并discuz的會員賬戶信息到Joomla3系統中,這時候要修改一下Joomla3的PlgAuthentication的Joomla插件來添加一個discuz的驗證方式

這個與密碼驗證相關的文件的位置是 (注意是Joomla3.x 其它版本暫時沒研究) :

JOOMLA/plugins/authentication/joomla/joomla.php

首先要把discuz的ucenter_members表的數據 導入到 Joomla的users表 具體的自己做吧

關于密碼的格式 我的處理方式是把 discuz的拼湊成 Joomla那種字符串的 :

$uc$/password/salt

這種樣式 其中password跟salt都是discuz的數據

Joomla關于會員信息的表只有兩張 一個users 還有一個user_usergroup_map(暫時不管)

所以導入時候 只要把ucenter_members改造一下就好了 自行導入到joomla的users表吧

要修改的部分是

    // Get a database object
    $db    = JFactory::getDbo();
    $query = $db->getQuery(true)
        ->select("id, password")
        ->from("#__users")
        ->where("username=" . $db->quote($credentials["username"]));

    $db->setQuery($query);
    $result = $db->loadObject();

后面開始

        //導出discuz會員表 ucenter 關于discuz的password跟salt處理方式是
        //組合成為 $uc$/password/salt 后面通過"/"切割 方便使用discuz的公式驗證密碼
        if( substr( $result->password, 0 , 4) == "$uc$")
        {
            // discuz具體的驗證方法是 $saltpassword = md5( md5( $plaintext_password ) . $salt);
            $str = explode( "/",  $result->password);
            $match = md5( md5( $credentials["password"]) . $str[2]) === $str[1] ? true : false;

        }
        else if (substr($result->password, 0, 4) == "$2y$")
        {
            // BCrypt passwords are always 60 characters, but it is possible that salt is appended although non standard.
            $password60 = substr($result->password, 0, 60);

            if (JCrypt::hasStrongPasswordSupport())
            {
                $match = password_verify($credentials["password"], $password60);
            }
        }
        elseif (substr($result->password, 0, 8) == "{SHA256}")
        {
            // Check the password
            $parts    = explode(":", $result->password);
            var_dump( $parts);
            $crypt    = $parts[0];
            $salt    = @$parts[1];
            $testcrypt = JUserHelper::getCryptedPassword($credentials["password"], $salt, "sha256", false);

            if ($result->password == $testcrypt)
            {
                $match = true;
            }
        }
        else
        {
            // Check the password
            $parts    = explode(":", $result->password);
            var_dump( $parts);
            $crypt    = $parts[0];
            $salt    = @$parts[1];

            $testcrypt = JUserHelper::getCryptedPassword($credentials["password"], $salt, "md5-hex", false);

            if ($crypt == $testcrypt)
            {
                $match = true;
            }
        }

這樣應該差不多了,我繼續研究看看還有什么要做的。初次學習joomla ,多多指教。

補充 還有創建分組的數據 表名叫 user_usergroup_map

在這里創建 user 跟 group 關聯的數據 否則是無法登陸的。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20641.html

相關文章

  • 第一個小程序(Discuz! + 微信小程序)

    摘要:微信小程序開發官方文檔,正在開發的小程序的源碼,都給了我不少啟發到小程序上富文本的解析一個優秀的開源項目微信小程序富文本解析組件作用在于解析你論壇上的帖子內容,你論壇上加粗的文字,加了顏色的文字,圖片等等,都可以原原本本的展示在小程序中。 關于這個小程序 Github : https://github.com/DowneyL/di...‘ 這個小程序是公司針對一個自家產品的需求,而這個...

    YacaToy 評論0 收藏0
  • 淺談開源web程序后臺安全性

    摘要:大學網站使用了名為的開源程序,青年使用一個已經公開的漏洞進入后臺青年使用后臺上傳限制不嚴的缺陷上傳了一個控制主機贈送我國國旗。這些程序都是國內開源程序中的佼佼者,也比較注重安全性。此時后臺程序的安全性成為一個短板。 一、前言 不知怎的最近甚是思念校園生活,思念食堂的炒飯。那時會去各種安全bbs上刷刷帖子,喜歡看別人寫的一些關于安全技巧或經驗的總結;那時BBS上很多文章標題都是:成功滲...

    ad6623 評論0 收藏0
  • 淺談開源web程序后臺安全性

    摘要:大學網站使用了名為的開源程序,青年使用一個已經公開的漏洞進入后臺青年使用后臺上傳限制不嚴的缺陷上傳了一個控制主機贈送我國國旗。這些程序都是國內開源程序中的佼佼者,也比較注重安全性。此時后臺程序的安全性成為一個短板。 一、前言 不知怎的最近甚是思念校園生活,思念食堂的炒飯。那時會去各種安全bbs上刷刷帖子,喜歡看別人寫的一些關于安全技巧或經驗的總結;那時BBS上很多文章標題都是:成功滲...

    ky0ncheng 評論0 收藏0
  • 走進身份管理-IAM/IDaaS

    摘要:企業通過微信微博等為消費者提供社交認證或其他更多第三方身份提供商。支持多樣身份提供方案良好的身份管理解決方案應該支持幾乎所有流行的身份來源。易于遷移應支持移入和移出身份管理解決方案而不受限 IDaaS 身份即服務是隨著云計算發展起來的新軟件即服務。 showImg(https://segmentfault.com/img/remote/1460000020177039?w=800&h=...

    gghyoo 評論0 收藏0

發表評論

0條評論

Alan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<