2011-12-13 17 views
0

私は、既存のWordpressメンバーシップサイト内に座る小さなWebアプリケーションを構築しています。YiiとWordpress/Digital Access Passを統合するには

現在、すべてのコンテンツは、ユーザー認証とコンテンツ保護を処理するDigital Access Passを使用して保護されています。

私はYiiをこれに使用し、それをWordpressサイトのサブディレクトリにインストールすることを考えています。

私の計画は、このレイアウトを持つことです。

www.site.com(ワードプレスブログ)に設定さ

www.site.com/members(デジタルアクセスパスの会員溶液で保護されたコンテンツ、 Wordpressの)

www.site.com/members/app(Yiiのフォルダ - DAPによって保護されますが、ワードプレスに設置されていない)

私が使用しているとして、私は、完全な統合を行うにはしたくありません多くのAjaxとそれは例からあまりにもうまくいくように見えません私は見た。

DAPを使用してページを保護し、認証を処理し、ログインしたユーザーIDをYiiに渡して、ユーザー設定、ユーザーデータなどを格納するキーとして使用できます。

DAPの仕組みは、保護したいページに次のコードを挿入するだけで、必要な情報が含まれているUserオブジェクトにアクセスできます。

<?php 
    include_once "../dap/dap-config.php"; 
    $user = null; 

if(!Dap_Session::isLoggedIn()) { 
    //send viewer to login page 
    header("Location:".SITE_URL_DAP.Dap_Config::get("LOGIN_URL")); 
    exit; 
} 
else if(Dap_Session::isLoggedIn()) { 
    //get userid 
    $session = Dap_Session::getSession(); 
    $user = $session->getUser(); 
    $user = Dap_User::loadUserById($user->getId()); //reload User object 
    if(!isset($user)) { 
     //send viewer to login page 
     header("Location:".SITE_URL_DAP.Dap_Config::get("LOGIN_URL")); 
     exit; 
    } else { 
     $userProducts = Dap_UsersProducts::loadProducts($user->getId()); 
    } 
} 
?> 

これをYiiで実装するにはどうすればよいですか?その後、

+0

私はDAP/WordPressとCakePhpとの統合作業を進めています。クイックコメント、あなたはどこにでもあることができるメンバーフォルダのあなたのアプリを必要としないし、DAPはそれを保護します。統合して仕事をしたことがありますか? – Andre

+0

いいえ、私は最後にYiiを使用しませんでした、私は自分のMVCをハンドリングしました。それはシンプルなアプリケーションだったし、当時私はYiiをとてもよく知らなかった。私が今それを構築していたら、私はおそらく以下に概説するCUserIdentityアプローチを使用するでしょう。 – Iain

答えて

0

私はあなたがフィルターにあなたのコードを入れて、それが(built-in Access Control Filter似)を実行させることができるはずYii Filters

見てみることから始めたい

そして、あなたが」あなたのアプリを真にYiiのように構築しようとするならば、CUserIdentityクラスのDapUserをラップし、CWebUserオブジェクトでうまく動作させることができます。ちょっとした作業が必要ですが、Yiiのすべてのオブジェクトのユーザー情報に簡単にアクセスできます。

幸運を祈る!

関連する問題