表現されている内容に私の理解がついていかない部分がいくつかありますが
user_login の情報だけをを変更すると 設定された権限ではなくなる
ということのみについて
新しく設定するログイン名は
もしかして他に存在するログイン名と同じになっていないでしょうか。
早速のご返答ありがとうございます。
>もしかして他に存在するログイン名と同じになっていないでしょうか。
既存のログイン名と同じものは設定していません。
他ユーザーとのかぶり無しです。
私には解決方法が見つかりませんでしたので、先のお話をいたしました経緯をお伝えいたします。
どこかに解決の糸口があることを願って。
条件
・権限はユーザーのIDから_usermeta テーブルを参照して _user_level _capabilities などに記載があるけれども
連結にはIDを使用しているのでユーザー名変更に関わらない。
・テーブルに対し直接データの変更を行うとユーザー名、メールアドレスの重複は許容される。
・参照方法によっては同名アカウント、同メールアドレスでログインした際、希望したアカウントではないほうでログインされる可能性がある。
(ログインできてしまう:パスワードの重複も前提になります)
状態
・メタ情報に関する部分など、アカウント以外には変更をおこなっていない。
・ログインはメールアドレスではなく変更したユーザー名でおこなっている。
・確認はユーザー情報のroles[0]などで呼び出し確認または設定画面のユーザー権限に対する動作で確認している。
(個人で設定した”管理者であれば表示するはずの設定”がない、などではなくワードプレスの機能にて)
これらから考えてログインできたユーザーのログイン名が変更されるに伴い権限が変更されたとワードプレスが判断を下すことは、同じ名前で別ユーザーが動作している以外ないと考えたのでした。
なんのお力にもなれませんでしたが解決された折にはきっと私をふくめこれからの問題解決に有益な情報となるかと思いますので陰ながら解決を祈りしております。
こんにちは
特権管理者はユーザー ID ではなくユーザー名に紐づいているようです。
wp_sitemeta テーブルの meta_key が site_admins にユーザー名の配列がシリアライズされた状態で保存されているようですが、直接変更することはおすすめしません。
別途、特権管理者を作成したほうが安全だとおもいます。
ishitakaさん、ご返答ありがとうございます。
特権管理者はユーザー名に紐づいていたんですね・・・
では、現時点ではマルチサイト化しているとユーザー名の変更は出来ないということですね。
これはWPの仕様ということでしょうか?
ご提案頂いたように、別途ユーザーを作成して対処することにします。
なるほど!
マルチサイトの権限グループなのですね。経験値がないため思考が及ばず管理者と同一視しておりました。勉強になります。
現状ではマルチサイトの運用をしておりませんので検証はできておりませんが
ワードプレスの機能を利用せず直接データベースの情報を書き換えること自体が仕様にそぐわないので
リレーションに関する部分は連携記述を全部手で書き換えるか、特別に不可領域も書き換える可能な仕様を準備するかになると思います。
ユーザー名の変更、というか一般に広く運用されている最初に設定した「アカウント文字列」を変更できない仕様は
メリットよりもデメリットが大きいので導入されていないものなので
先述後者の仕様が導入されることは期待が低く、「ワードプレスの仕様」という事でよいかと思います。
おそらく他のログイン機能をもつサイトも「ログインアカウント文字列の変更」はできないものが多いと思います。
新しい特権管理者を作成したので、adminを削除しようと思ったのですがユーザー一覧に「削除」リンクがありません。
マルチサイトの各サイトからadminを削除して所属するサイトが無い状態にしています。
サイトネットワーク管理のユーザー一覧から削除出来るものと思っていたのですが、「編集」しかなく「削除」リンクがありません。
特権管理者を解除してからしか削除できないのかと思うのですが、ユーザー設定画面に特権管理者から編集者などに変更する箇所も無く行き詰まりました。
ユーザーレベルを特権管理者から変更するにはどうしたら良いのでしょうか?
特権管理者権限を持つユーザーおよびサイトネットワーク管理者のメールアドレスに設定されているユーザーは削除できないようです。
削除するには特権管理者権限を外し、新たに作成した特権管理者のメールアドレスへ変更する必要があります。
サイトネットワーク管理の設定にある「サイトネットワーク管理者のメールアドレス」を変更したら、adminのユーザー設定画面で特権管理者にするかどうかのチェックボックスが表示されるようになりました。
特権管理者を外すことが出来たのでユーザー一覧に「削除」リンクが表示されるようになりました!
でも、「削除」をクリックしても該当ユーザーが削除されません・・・
「削除」をクリックすると一応画面はリロード?(Firefoxなのでタブに「接続中」と表示されてページ読み込みのような動作がある)されるのですが、該当ユーザーは削除されずに残っています。
user_id=1は削除できないなどの仕様があるのでしょうか?
試しに私も同じこと(user_id=1)をやってみました。
ちょっと時間は掛かりましたが無事削除することができました。データベースを直接変更したことによる影響でしょうか?
残念ながら、なぜ削除できないのか私には考えられる対処法がおもいつきません(なんかすみません)。
ishitakaさん、わざわざuser_id=1の削除を試して頂きありがとうございました。
マルチサイトの各サイトの一般設定のメールアドレスにadminのメアドがあったので全部変更したのですが、やはりadminの削除は出来ませんでした。
普通はuser_id=1でも削除出来るようなので、私の環境だけみたいですね・・・
特権管理者は別に登録したので、adminのままは危ないし当初のやり方でユーザー名を変更、さらに権限も変更することで落ち着きました。
ishitakaさん、msioさん、ご助言ありがとうございました。