#author("2020-07-08T11:40:29+09:00","","") #author("2020-07-08T11:43:47+09:00","","") **[[質問箱/5378]] [#y272a649] |RIGHT:70|LEFT:410|c |~カテゴリ|セキュリティ・スパム・悪戯対策| |~サマリ|ユーザー名でPukiWiki上部のnavigatorの振り分け| |~バージョン|1.5.2| |~投稿者|[[koichiyo]]| |~状態|完了| |~投稿日|&new{2020-06-30 (火) 21:44:03};| ***質問 [#lb85841e] ユーザー名に応じて、PukiWiki上部のnavigatorの表示を振り分けたいと考えています。1.5.1以降のForm認証で、ユーザー名を取得する方法はありますか? もし別によい方法があればご教示いただければ幸いです。 ***回答 [#d242d519] - [[質問箱/5377]]、[[質問箱/4519]]、[[質問箱/2643]]、[[質問箱/5231]] -- &new{2020-07-01 (水) 10:23:15}; - 閲覧のみの権限の人をいちいちPukiwikiのpukiwiki.ini.phpで登録する必要もないと思うので、編集権限のあるページでだけ編集などのリンクを提示したいということなんでしょうか? -- &new{2020-07-01 (水) 10:47:55}; - 認証後であればグローバル変数 $auth_user にユーザー名が入っています -- [[umorigu]] &new{2020-07-01 (水) 20:42:16}; - ご返信ありがとうございます。すべてのユーザーを(pukiwiki.ini.phpの$auth_usersで指定して)パスワードで管理して(閲覧権限のみ付加)、一部の人に編集権限をもたせたいと思っています。その際に、閲覧権限のみに人には、「編集」等のメニューを見せたくありません。編集権限をもったユーザーかどうか判定できれば、pukiwiki.skin.phpをで振り分けてしまえばよいと思ったのですが、その判定の方法がわかりません。$_SESSION["authenticated_user"]で、ユーザー名は取得できたのですが、権限の有無を判定する方法がわかればと思います。ご助言よろしくお願いいたします。 -- [[koichiyo]] &new{2020-07-02 (木) 13:11:12}; - [[dev:BugTrack/2372]] -- &new{2020-07-02 (木) 18:03:52}; -- 確かにグループを 使う手がありますね。 $auth_groups = array( 'editor_group' => 'user_a,user_b' ); としておけば $auth_user が 'user_a' の場合に 配列 $auth_user_groups に 'editor_group' が含まれています。 -- [[umorigu]] &new{2020-07-03 (金) 00:16:39}; - もう少し簡単な手として、編集権限の有無が知りたいのなら、 is_editable(ページ名) で現在のユーザーに編集権限があるかないか true/false を得られます。 skin/pukiwiki.skin.php が実行される場所は lib/html.php の catbody() 関数なので (どこかのページを表示している場合は) is_editable($_page) とか is_editable($vars['page']) だけで済みます -- [[umorigu]] &new{2020-07-03 (金) 00:26:45}; - 皆様ご丁寧な返信ありがとうございます!グループを使う方法、権限チェックを使う方法、両方試してみます。 -- [[koichiyo]] &new{2020-07-08 (水) 11:43:47}; #comment