基本的な部分を教えて下さい

2014年1月2日 at 12:18

以下のようなコードがあります。
---
$c = Page::getByID($_GET['cID'], 'RECENT');
$a = Area::get($c, $_GET['arHandle']);
$b = Block::getByID($_GET['bID'], $c, $a);
:
$bp = new Permissions($b);
if( !$bp->canWrite() )
$badPermissions = true;
else
$badPermissions = false;
---
ログイン状態ですと、falseですが、ログオフだと、trueになります。

上記コードではユーザ権限に関しての違いは無いように思うのですが、なぜなのかわかりませんでしょうか。

タグ:

Re: 基本的な部分を教えて下さい

2014年1月2日 at 12:35
Permissionsクラスはログイン中のユーザーに対してチェックを行なうので、ログイン状態によって結果が変わります。
 

Re: 基本的な部分を教えて下さい

2014年1月2日 at 15:20
ログオフ、つまり公開状態でパーミッションエラー(true)になる場合とならない場合(false)があるんです。
いったいなにが違うのか?
 

Re: 基本的な部分を教えて下さい

2014年1月2日 at 15:42
ログイン状態ですと、falseですが、ログオフだと、trueになります。


と言うことではなく、ログアウト状態で、trueだったりfalseだったりするということですか?
 

Re: 基本的な部分を教えて下さい

2014年1月3日 at 11:29
そう言われればおかしいですね。
もすこし調べてみます。

コードの意味は、実行しているユーザに書き込みの権限があるかどうかをチェックしてるんですね。なるほど。
 

Re: 基本的な部分を教えて下さい

2014年1月3日 at 23:07
ちょうど権限周りの記事を書いたのでご参考になれば。
http://notnil-creative.com/blog/archives/2724