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

管理者アカウントと利用者アカウントを分離する #13744

Open
1 task
syuilo opened this issue Apr 25, 2024 · 10 comments
Open
1 task

管理者アカウントと利用者アカウントを分離する #13744

syuilo opened this issue Apr 25, 2024 · 10 comments
Assignees
Labels
✨Feature This adds/improves/enhances a feature 🔥high priority

Comments

@syuilo
Copy link
Member

syuilo commented Apr 25, 2024

Summary

現在どちらも同じ User モデルとして表現されているが、管理者(モデレーター)アカウントを別モデルに分離する

Purpose

cons

  • 実装がめんどくさい

Do you want to implement this feature yourself?

  • Yes, I will implement this by myself and send a pull request
@syuilo syuilo added the ✨Feature This adds/improves/enhances a feature label Apr 25, 2024
@samunohito
Copy link
Member

samunohito commented Apr 25, 2024

isModeratorやisAdministratorなフラグがついたロールの扱いも変わりそうな気がしており、それ前提で組まれてる所の洗い出しが大変そう…(設計変更自体は賛成)

@syuilo
Copy link
Member Author

syuilo commented Apr 25, 2024

isModeratorやisAdministratorなフラグがついたロールの扱いも変わりそう

そこはアカウント紐付け機能が実装されれば変わらずにできそう

@syuilo
Copy link
Member Author

syuilo commented Jun 13, 2024

試すか

@tai-cha
Copy link
Contributor

tai-cha commented Jun 14, 2024

admin APIに互換性が無くなる可能性がある

そこはアカウント紐付け機能が実装されれば変わらずにできそう

アカウント紐づけが実装されていればisModeratorやisAdministratorを残すことはできるという前提に立てばadminAPIの互換性維持もできそうなイメージ

@syuilo
Copy link
Member Author

syuilo commented Jun 15, 2024

二要素認証とかのシステムも別に実装しないといけないからめんどくさいわね

@syuilo
Copy link
Member Author

syuilo commented Jun 15, 2024

やめるか

@syuilo
Copy link
Member Author

syuilo commented Sep 23, 2024

二要素認証とかのシステムも別に実装しないといけないからめんどくさいわね

そうでもなさそう

@sakuhanight
Copy link
Contributor

これって、通常のUIと分離するイメージでしょうか?

@eternal-flame-AD
Copy link
Contributor

これはここでの私のコメントに関連していると思いますが、理想的には、トークンですべてを実行できるのフールスコープセッションと想定するのではなく、UI は制限されたスコープのセッション (ここではアクティブな投稿ではなくモデレーションに制限されているなど) に適応するほうがいいと思います。

#15053 (comment)

例えば、スコープがユーザー/トークンに付与されていない場合、フロントエンドは投稿ボタンを非表示にします。

@sakuhanight
Copy link
Contributor

前提として、複数の課題に対する共通の解としての管理者アカウント分離と理解しています。

admin APIに互換性が無くなる可能性がある

そこはアカウント紐付け機能が実装されれば変わらずにできそう

アカウント紐づけが実装されていればisModeratorやisAdministratorを残すことはできるという前提に立てばadminAPIの互換性維持もできそうなイメージ

これを考えると、User モデルの分離というよりも、モデレーターとしての別名を与えるようなイメージになりそうです。
その場合、「Misskeyは利用しないモデレーション専門のスタッフ」に結局User モデルを付けることになりそうです。
もしくは、「Misskeyは利用しないモデレーション専門のスタッフを分離」するということを前提にUserモデルを使わないようにすると、UserProfileの簡易版を別に実装することになりそうな気がします。

これらの事を考えると、以下の方法が簡単に実現できそうに思いました。

  • ModeratorProfileモデルの追加(moderatorIdとuserId、モデレーターとしての名前を持つ)、user削除で削除しない
  • モデレーター用のロールポリシーを追加、拡充
  • モデレーションしかできないようにするロールポリシーの追加
  • モデログへの記録はModeratorProfileとリレーションする

(「〜そう」ばかりですみません)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨Feature This adds/improves/enhances a feature 🔥high priority
Projects
No open projects
Status: Triage
Development

No branches or pull requests

5 participants