「できること」を表す権限と、「できるけどやらない」を表す拒否(ブロックとか)と。それと「拒否できる」拒否権と。
- -
「できること」を表す権限と、「させない」を表す拒否(ブロックとか)と。
何かをするには権限が必要。権限のほかに「ブロックしていないこと」なども関わる。できない/できるけどやらない/できるしやるの3パターン。これらがどの処理にもつきまとう。
- 権限は主に利用者に与える機能/サービスを減らすもの。「権限」が無いことがデフォルトで、権限があると提供する機能/サービスが増える。
- 拒否は主に利用者が自分に与えられる機能/サービスを減らすこと。「拒否」も無いことがデフォルトだけど、拒否するごとに提供される機能/サービスが減る。
権限は主に利用者に与える機能/サービスを減らすもの。「権限」が無いことがデフォルトで、権限があると提供する機能/サービスが増える。拒否は主に利用者が自分に与えられる機能/サービスを減らすこと。「拒否」も無いことがデフォルトだけど、拒否するごとに提供される機能/サービスが減る。
権限も拒否も機能/サービスを減らすもの。
拒否権 †
拒否する権限。
例えば「ページの更新情報をブロックすること」にも権限が必要。
拒否権 †
拒否できるもの別に拒否権があるのでは。
「与えられている権限を自ら捨てる」というのが拒否の実装になるのかも。
「権限を捨てる権限」が拒否権。
→ 「できる」と「できるけどやらない」は区別するので、拒否権は却下。通知をするプラグインが用意する設定方法で通知を拒否するように変更。
権限は必ず拒否可能に †
与える側と受け入れる側を考慮。
権限は継承元にあるものだけ利用可能にするか、権限領域を変更できる権限でのみ変更可能にする必要がある。
拒否は受け側(継承する側)でするもの。
どこに記録するか †
権限の場合、鍵は利用者に。対象がどのページであっても同じ鍵。錠のほうは対象ページに。対象ページごとに持っている錠が異なる。
†:Done/ページの拒否
仕組みではなく方針/考え方とする †
→
実装するにしても、権限を使うときに拒否されているか考慮。それまでは許可も拒否も同一視。属性のひとつか、プラグインの設定項目として扱うだけ。
アカウントを凍結するのに使える †
すべての権限を拒否すれば、継承によって権限が与えられていても行使不可能にできる。
権限と設定を区別する †
拒否よりも「権限を与えない」だけでいい。
利用者をロール別にしておいて、権限を減らされる利用者を別のロールにするといった普通の方法でいい。
自分から見える機能を減らしたい、UIを簡略化したいなら、自分のダッシュボードやサイトヘッダーを自身で書き換えればいい。自分用テンプレートの編集ができればいい。
実装は錠と鍵 †
→
自動リンクを拒否 †
自動リンクされないページを作るときに利用する。
利用者もページなので、利用者ページへの自動リンクも、他のページへの自動リンクも拒否可能。
これで、用語集とそうでないページを区別して、その下位に作られたページは自動リンク拒否を継承するようにできる。