ユーザーとプロジェクトのアクセスレベルによってプロジェクトへのアクセス制限機能を拡張する

Non-memberユーザーの、公開プロジェクトへのアクセス制限について」の記事で、制限設定したユーザーが公開プロジェクトへアクセスできないようにする機能を紹介した。
今回は、これにより自由度を持たせて、さらに逆パターン(非公開プロジェクトへNon-Memberがアクセスできるようにする)機能を加えてみた。
なお、対象のRedmineは、2.5.1。

<機能>

  • ユーザーとプロジェクトの各々にアクセスレベルを設けて、各々のアクセスレベルに応じて、
    ・非公開プロジェクトへNon-memberでアクセスできる機能を有効にしたり、
    ・公開プロジェクトへのアクセスを制限できる機能を有効にしたり
    設定できるようにする。
  • ユーザーごと、プロジェクトごとに、アクセスレベルを変えられる(ので柔軟な運用が可能となる)
    ・例1:アクセスレベル1の非公開プロジェクトには、アクセスレベル1以上のユーザーはNon-memberでもアクセスできるように設定可能。
    ・例2:アクセスレベル2の公開プロジェクトには、アクセスレベル1以下のユーザーはアクセスできるないように設定可能。

<Redmineでの設定>

(設定はいずれもadminで)
  • DBのmigrateが必要。
  • ユーザーの編集画面で、アクセスレベルを0~9で設定する。
  • プロジェクトの編集画面で、アクセスレベルを0~9で設定する。
  • 管理-プロジェクトで、次のチェックをONにする。(OFFの場合はRedmineデフォルトの振る舞い)
    「アクセスレベルの低いユーザーが非メンバーの公開プロジェクトへアクセスできないようにする」
    →プロジェクトのアクセスレベルより低いユーザーは公開プロジェクトへのアクセスできなくなる。
    「アクセスレベルの高いユーザーが非メンバーの非公開プロジェクトへアクセスできるようにする」
    →プロジェクトのアクセスレベルより高いユーザーは非公開プロジェクトであってもNon-memberでアクセス可能になる。

<差分コード>

Github

0 件のコメント:

コメントを投稿