<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web活メモ帳 &#187; pages_controller</title>
	<atom:link href="http://blog.verygoodtown.com/tag/pages_controller/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.verygoodtown.com</link>
	<description>WEB開発者が使える世界の情報を発信します。</description>
	<lastBuildDate>Thu, 09 Feb 2012 02:01:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CakePHPで認証付きの静的ページを作る</title>
		<link>http://blog.verygoodtown.com/2010/02/cakephp1-2-admin-page/</link>
		<comments>http://blog.verygoodtown.com/2010/02/cakephp1-2-admin-page/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 02:56:49 +0000</pubDate>
		<dc:creator>linja</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[pages_controller]]></category>

		<guid isPermaLink="false">http://blog.verygoodtown.com/?p=1758</guid>
		<description><![CDATA[CakePHP1.2で管理者用の静的ページを作る（認証付き）というエントリーを見つけました。
静的ページで良いんだけど認証ユーザーにだけ見せたい場合とかってみんなどうやってるんでしょうね。自分のやり方を忘れないためにエン [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.longkey1.net/archives/841" target="_blank">CakePHP1.2で管理者用の静的ページを作る（認証付き）</a>というエントリーを見つけました。</p>
<p>静的ページで良いんだけど認証ユーザーにだけ見せたい場合とかってみんなどうやってるんでしょうね。自分のやり方を忘れないためにエントリー。</p>
<p>やり方としてはPagesにアクセスされた際にapp_controllerにて、ログインユーザー以外は非表示になるよう処理を振り分けます。</p>
<p>コードはこんな感じです。</p>
<pre class="brush:php;">
&lt;php
class AppController extends Controller {
    var $lockedPages = array('agreement');
    function beforeFilter()
    {
        // pages controllerかどうかをチェック
        if ($this->name == 'Pages')
        {
            // pagesなら引数を受け取る
            $path = $this->passedArgs;

            // 認証ユーザーしか閲覧できないページか調べる
            if (isset($path[0]) &#038;&#038; in_array($path[0], $this->lockedPages))
            {
                //ここでpagesのdisplayをロック
                $this->Auth->deny('display');
            }
        }
    }
}?&gt;
</pre>
<p>$lockedPagesに、認証ユーザーにだけ見せたいPageを配列で指定するだけで簡単に量産することが可能です。<br />
これだとルーティングも特に変更する必要はありません。</p>
<p>どっかの記事にのってたのを参考にしたはずなんですが、元記事が見つけられませんでした。</p>
<p>pages_controllerをapp以下に持ってきた方が色々カスタマイズするには便利なんだけど、静的ページを見せたいだけならいっつもこんな感じです。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.verygoodtown.com/2010/02/cakephp1-2-admin-page/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

