ウェブデザインのヒント F*stream一見さんのコメント歓迎

このページにアクセスするための十分なアクセス権がありません。

Post to Google Buzz
このエントリーをはてなブックマークに追加
はてなブックマーク - このページにアクセスするための十分なアクセス権がありません。
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip

さて
前々回(WordPress MEから日本語版2.9.1へ今更アップグレード)、
前回(WordPress ME2.2.3から日本語版2.9へ トラブル編
からの続きですが、ME2.0.11(EUC-JP)から日本語版2.9にアップグレードしたほうに関してはちょっと厄介でした。

まず管理画面にログインしようとしてみると、
「このページにアクセスするための十分なアクセス権がありません。」
と出て、管理画面に入れてもらえない。

…いや、あるでしょ!
あたい管理者っすよ!ムッキー!ヽ(`Д´)ノ

うーん。でも、もう1コのほうは正常にログインできるので、
原因は文字コード変換による何かのエラーだろうなーというのは想像つきました。

そこであちこち検索してみたら、ココがヒット。
アクセスする権限がないと表示されて管理画面にログインできない場合の対処法 – Odysseygate.com
http://www.odysseygate.com/archives/769

エラーが出るタイミング

  • 新規インストールを行い、ログインする場合
  • EUCからUTF-8に文字コードを変更した場合。またはその逆。
  • WordPressをインストールしたDBのwp_optionsを変更するプラグインをインストールした場合
  • WordPressをインストールしたDBに猛烈に負荷がかかっている場合(筆者が経験)

コレだーーーーーーーーー!ひゃっほーい。

で、早速wp1_usermetaのwp1_capabilitiesを書き換えてみます。

a:5:{s:13:"administrator";a:2:{s:4:"name";s:9:"管理人";s:12:"capabilities";a:30:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;}}s:6:"editor";a:2:{s:4:"name";s:9:"編集者";s:12:"capabilities";a:19:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"作者";s:12:"capabilities";a:8:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:9:"寄稿者";s:12:"capabilities";a:4:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:9:"協力者";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}

おおっ、無事ログイン成功!
新しい管理画面だー!

しかもタイミングよく
「WordPress 2.9.1 が利用可能です ! アップデートしてください。」とか出てるし。(2010.1.5更新)
やったーえーいぽちっ。アップデートー…

と思いきや。(2度目)

またもや
「このページにアクセスするための十分なアクセス権がありません。」

いや待てーーーーーいヽ(`Д´)ノ

インストールしてやった恩も忘れて、この反抗的な態度ですよ。
あるのに。絶対あるのに。権限…うう・゜・(PД`q。)・゜・

仕方がないので、またgoogleワールドへの旅に出ます。

ありました。
WordPressのアップグレードとユーザー権限 | 雑念ベース
http://blog.yoshitomo.org/archives/567

つまり、超ざっくり言うと、
「データベースのwp1_optionsっていうテーブルのwp1_user_rolesの値に『s:14:”update_plugins”;b:1;s:14:”delete_plugins”;b:1;』が入っていないのでアクセスできませんよ」というわけですね。

phpMyAdminでサクっと書き足してあげたら済む話なんですけど、他にも何か抜けてたら嫌なので念のため、正常に動いてるwp2_optionsのテーブルからoption_valueをコピペしました。

結果、無事に自動アップグレードまで完了!ああ、長かった~~~~。

ちなみに、管理者(Administrator)権限の定義は54項目、編集者(Editor)は34項目、
投稿者(Author)10、寄稿者(Contributor)5、購読者(Subscriber)は2項目ありました。
これ書き換えたら権限のカスタマイズもできるのかな??
(やってみたい方はどうぞ自己責任でね)

2010-01-07 カテゴリー:その他 Comments (0) | Trackbacks (4)