2011-12-23 6 views
6

私はAuthコンポーネントを使って独自のログインシステムを持つCakePHPウェブサイトを持っています。次のことが可能かどうかを知りたいと思います。cakephpの外側からcakephpセッション(auth)にアクセス

ユーザーがログインし、ウェブサイトをナビゲートしています。ある時点で、彼は外部PHPファイルを開くリンクをクリックすることができます。外部では、同じサーバーの別のフォルダにある可能性がありますが、CakePHPアプリのフォルダの外側にある可能性があります。

"難しい"もの(私のため)は、ユーザーがログインしている場合にのみ(そのアカウントにアクセスしているアカウントを持たない人を防ぐために)そのPHPファイルの内容を表示することです。私はCakeの外にいるのでAuthを使用することはできません...おそらく$ _SESSIONを使用しているのかどうかわかりませんが...。

これも可能ですか?そして、はい、PHPはCakePHPアプリのフォルダーシステムの外になければなりません。

アイデア?

+2

var_dumpまたはprint_rは非常に便利なPHP関数です。 $ _SESSIONでそれらを使用すると、CakePHPがすべてのことを見ることができます。それは実際に見て面白いです。 – Vigrond

+0

私はずっと前と同じ質問がありました:http://stackoverflow.com/questions/6988156/accessing-cakephp-session-variable-from-a-php-script – AlexBrand

答えて

7

はい、cakephpフォルダの外側にあるcakephp SESSIONにアクセスできます。それはその後、ここにユーザーのために

$_SESSION['Auth']['User'] 
+0

あなたの答えに感謝!ですから、基本的に '$ _SESSION ['Auth'] ['User']'が存在するかどうかを確認するだけです。例えば、ケーキでは、通常、$ this-> Session-> check( 'Auth.User') 'を実行して、ユーザーがログインしているかどうかを知ることができます。 – Albert

+0

はい、そうです。 –

+0

ok cool!どうもありがとうございました! – Albert

8

をチェック存在する場合、私はちょうど

session_name('CAKEPHP') 

を使用しても、あなたを追加する「のCakePHP」にセッション名を設定する必要があります

$_SESSION['Auth'] 

変数このセッションを試してみてくださいあなたの外部アプリsession_start()の前にKashif Khanが解決策を提案できなかった場合:

乾杯、

+0

ありがとう!たくさんの男。私はこのコードを探していました。 –

1

これはCakephp3では動作しません。呼び出し後

session_name("CAKEPHP"); 
session_start(); 

アプリケーションセッションが終了しています。

関連する問題