Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adminユーザの管理者権限について #742

Closed
mikiT opened this issue Jun 5, 2017 · 12 comments
Closed

adminユーザの管理者権限について #742

mikiT opened this issue Jun 5, 2017 · 12 comments

Comments

@mikiT
Copy link

mikiT commented Jun 5, 2017

docker にて現状の最新版で動かしています。
admin ユーザでログインしても管理者メニューが出なくなってしまいました。
権限を修正することは可能でしょうか。

admin-menu

@koda-masaru
Copy link
Contributor

管理者ユーザを0名にしてしまったということでしょうか?
もしそうであれば、DBのデータを直接編集するしかありません。
DBはPostgreSQLでしょうか?それとも組み込み用のDBをそのまま使っていますでしょうか?

@mikiT
Copy link
Author

mikiT commented Jun 6, 2017

ありがとうございます。
組み込みDBです。

@leover6
Copy link

leover6 commented Jun 6, 2017 via email

@koda-masaru
Copy link
Contributor

ちなみにですが、上記のメニュー画像は一般ユーザの使う「メニュー」の画面です。
この画面には、管理者機能は表示されません。

管理者機能は、右上のアイコンの「システム設定」から遷移しますが、このメニューが
管理者ユーザでも表示されていないということであっているでしょうか?

image

通常、管理者権限が無くなるということは無いと思いましたので、念のため確認をお願いします。

@mikiT
Copy link
Author

mikiT commented Jun 7, 2017

admin ユーザなんですが、そこに「システム設定」が表示されません。。

@koda-masaru
Copy link
Contributor

組み込みDBであれば、以下の手順で復元できると思います。
(Macでの操作です。Windowsの場合などは、パスなどを読み替えてください)

  1. Docker内のKnowledgeのデータを格納しているディレクトリを取得

    • https://information-knowledge.support-project.org/backup-ja を参考にしてください
    • このデータディレクトリ内に組み込みDBなどのデータを格納しています
    • Dockerであれば、Volumeなどを使いデータディレクトリにアクセスできるようにしてください
  2. データディレクトリ内の db ディレクトリをコピー

    • データを操作しますので、バックアップと変更用の2つを取得しておいてください
    • 仮に、dbのディレクトリを ~/db に置いたとして説明を続けます
      • ユーザのホームディレクトリにコピーしています
  3. H2Database Engine のサイトからDB操作用のエンジン一式をダウンロードしてください

  4. H2Databaseを起動します

    • 上のダウンロードした zip を解凍し、 bin/h2.sh で起動します
  5. 起動し終わったら、組み込みDBの操作をブラウザからできるようになるので、ブラウザでアクセスします

    • http://localhost:8082/
    • 保存済設定は、 Generic H2 (Server) を選択してください
    • JDBC URL は 先程のデータディレクトリ内の db を置いたところを指定するようにします
    • jdbc:h2:tcp://localhost/~/db/knowledge_db
    • 接続すると、KnowledgeのDBのテーブルの一覧などが見れる画面へ遷移します

image

image

  1. ユーザと権限のテーブルに、管理者権限のデータを投入する

    • SQLの実行できる部分で以下のデータを投入
    • INSERT INTO USER_ROLES (USER_ID, ROLE_ID) VALUES ({登録したいユーザのID}, 1);
      • ROLE_ID の 1 が管理者権限です
  2. データを更新した db ディレクトリを、Dockerに戻す

    • Dockerを停止し、Volumeディレクトリにコピーし、Dockerを起動
    • 起動後に、上記管理者権限を登録したユーザでアクセスし、管理者メニューが表示できていれば復元成功です

なお、 組み込みDBは、動作確認期間の試行に利用していただくことを想定していますが、
正式に運用する場合は、PostgreSQLへの切り替えを強く推奨しています。
今回は組み込みDBでの復元方法を記載しましたが、できればPostgreSQLへの移行をご検討ください。

@mikiT
Copy link
Author

mikiT commented Jun 8, 2017

詳細にありがとうございます!!
admin でログインして管理者メニューが見れるようになりました。
postgres への移行手順がありましたらポイントしていただけるとありがたいです。

@koda-masaru
Copy link
Contributor

以下の手順で変更できます。

PostgreSQLをインストールして、後は管理者でログイン後に、「データベースの接続先変更」のメニューから接続先を変更します。
変更後に、「組み込みDBで保存していたデータをカスタム設定のDBにコピー」のボタンでデータをコピーします。

@mikiT
Copy link
Author

mikiT commented Jun 12, 2017

できました。ありがとうございます!

@mikiT mikiT closed this as completed Jun 12, 2017
@mikiT mikiT reopened this Jun 14, 2017
@mikiT
Copy link
Author

mikiT commented Jun 14, 2017

  • postgres に移行したところ、admin でもログインできなくなってしまいました。
  • DB内をみてみたところ、ユーザの移行ができていなかったようです。
knowledge=# select * from user_groups limit 10;
 user_id | group_id | group_role | row_id | insert_user | insert_datetime | update_user | update_datetime | delete_flag
---------+----------+------------+--------+-------------+-----------------+-------------+-----------------+-------------
(0 rows)

knowledge=# select * from users limit 10;
 user_id | user_key | user_name | password | salt | locale_key | mail_address | auth_ldap | row_id | insert_user | insert_datetime | update_user | update_date
time | delete_flag
---------+----------+-----------+----------+------+------------+--------------+-----------+--------+-------------+-----------------+-------------+------------
-----+-------------
(0 rows)

@Monota
Copy link
Contributor

Monota commented Jun 14, 2017

#352 と同件の可能性もあると思います。
ただ、タイトルと内容が離れてしまっているので本件は close して新しく issue 起こしたほうが良いと思います。タイトルだけ見ても探しにくくなるためです。

@koda-masaru
Copy link
Contributor

解析できていないのですが、現象が再現できません。
#352と同じ原因かもしれません。
いったん本Issueはクローズし、 #832 で管理します。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants