「できること」を表す権限と、「できるけどやらない」を表す拒否(ブロックとか)と。それと「拒否できる」拒否権と。

何かをするには権限が必要。権限のほかに「ブロックしていないこと」なども関わる。できない/できるけどやらない/できるしやるの3パターン。これらがどの処理にもつきまとう。

  • 権限は主に利用者に与える機能/サービスを減らすもの。「権限」が無いことがデフォルトで、権限があると提供する機能/サービスが増える。
  • 拒否は主に利用者自分に与えられる機能/サービスを減らすこと。「拒否」も無いことがデフォルトだけど、拒否するごとに提供される機能/サービスが減る。

権限も拒否も機能/サービスを減らすもの。

拒否権 Edit

拒否する権限
例えば「ページの更新情報をブロックすること」にも権限が必要。

拒否できるもの別に拒否権があるのでは。

「与えられている権限を自ら捨てる」というのが拒否の実装になるのかも。
権限を捨てる権限」が拒否権。

権限は必ず拒否可能に Edit

与える側と受け入れる側を考慮。

権限継承元にあるものだけ利用可能にするか、権限領域を変更できる権限でのみ変更可能にする必要がある。
拒否…つまり禁止事項を継承するようにすれば、自身の権限領域を書き換え可能になるし、継承元にある権限だけを使うことになるし、いろいろと解決できる。

どこに記録するか Edit

権限の場合、鍵は利用者に。対象がどのページであっても同じ鍵。錠のほうは対象ページに。対象ページごとに持っている錠が異なる。
:Done/ページの拒否

仕組みではなく方針/考え方とする Edit

→拒否は仕組みではなく機能を考えるための方針。権限をヒントにして拒否機能を考える。更新日時の更新拒否→「ちょっとした更新」など。

実装するにしても、権限を使うときに拒否されているか考慮。それまでは許可も拒否も同一視。属性のひとつとして扱うだけ。

権限設定 Edit

権限で拒否するとなると、特別な権限が要る。通知の拒否などは権限というより個人的な設定のはず。両方必要か。