LifeType 中文開發論壇

開發 => 外掛程式 => 主題作者是: laughtosky 於 九月 05, 2005, 07:41:09 下午



主題: plog中,验证用户的程序是哪一段,设置session是哪一段?
作者: laughtosky九月 05, 2005, 07:41:09 下午
找不到阿~?


主題: Re: plog中,验证用户的程序是哪一段,设置session是哪一段?
作者: laughtosky九月 05, 2005, 08:09:47 下午
我想不通过登录直接设置一个用户的session,需要设置哪些值,怎么设置


主題: Re: plog中,驗證用戶的程序是哪一段,設置session是哪一段?
作者: minstrel九月 06, 2005, 11:58:47 上午
session 的控制放在 Action 的 class 中. 可以參考 blogaction.class.php 這個檔. 記得有幾個外掛中也有使用到 session.


主題: Re: plog中,验证用户的程序是哪一段,设置session是哪一段?
作者: markwu九月 06, 2005, 05:53:59 下午
首先,我假設你已經克服 User Authentication 的問題。也就是把 pLog 的 user 認證改為其他的資料來源(如論壇或是其他 CMS 等)。

所以,如果你要產生一個 pLog 的 session,你可以參考 /plog/class/action/admin/adminloginaction.class.php 這一支程式:

程式碼:
// 產生一個新的 user 物件
$users = new Users();
// 取得 userInfo 物件 (透過正確的 username 與 password)
$userInfo = $users->getUserInfo( $userName, $userPassword );
// 取得使用者的 blog list
$userBlogs = $users->getUsersBlogs( $userInfo->getId(), BLOG_STATUS_ACTIVE );
// 用第一個 blog 來當作 blogID,並取得這個 blog ID 的 blogInfo
$blogInfo = end( $userBlogs );
// 取得 session
$session = HttpVars::getSession();
$sessionInfo = $session["SessionInfo"];
// 並且把資料寫入session
$sessionInfo->setValue( "userInfo", $userInfo );
$sessionInfo->setValue( "blogInfo", $blogInfo );
$session["SessionInfo"] = $sessionInfo;
HttpVars::setSession( $session );

我假設你會寫 php,所以應該 include 的檔案還是都要 include,這樣這一段程式才有辦法運作。

Mark


主題: Re: plog中,验证用户的程序是哪一段,设置session是哪一段?
作者: laughtosky九月 06, 2005, 07:18:00 下午
非常感谢mark,我一直以来只会asp,php水平确实不怎么样,不过include我还是知道的,asp中也有include,只是没有include-once


主題: Re: plog中,验证用户的程序是哪一段,设置session是哪一段?
作者: xinyuan十一月 04, 2005, 01:15:04 下午
thank you


主題: Re: plog中,验证用户的程序是哪一段,设置session是哪一段?
作者: pcm十一月 09, 2006, 02:34:12 下午
我把應該include 的class 都include 了
但是仍然有問題
結果出來是

Fatal error: Call to undefined method Users::getUserInfo() in c:\AppServ\www\blog\blog_session.php on line 34

怎麼辦?