y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

ドキュメント単位のセキュリティ設定を追加

かねてから予定していたドキュメント単位のセキュリティを、ついにと言うか必要に迫られてというか、追加した。
一足早くフォルダアクセスセキュリティは実現していたが、(面倒だったので)放置していた。
テーブル定義では、許可するグループ、許可するユーザを用意しており、データもフォルダアクセス権を継承する形で、値を入れた状態にしてあったので、今回ちょこっと修正することで実現した。
自宅作業で2時間である。機能追加は楽しいのだが、どうもこの辺の”あって当たり前の機能”を作るのはクールじゃない気がしちゃう。しかも悪意のユーザを前提にしたセキュリティ機能である。

何が面倒臭いって、ドキュメントセキュリティはドキュメントの参照、編集、ファイルリストの表示、編集、ファイルダウンロード、チェックアウトなどなど多くの機能に関係するので、修正箇所が多いということに尽きる。
アクセス権をチェックする共通関数は、フォルダアクセス権判定のコピー&SQL文のちょっとした編集でOK。
フォルダプロパティで”アクセス権限を引き継ぐ”に設定しておくと、ドキュメントの新規作成、編集時には、フォルダアクセス権限がそのまま引き写される。既存ドキュメントのコピーや別のフォルダからの移動についても同様。
試しにアクセス権限の無いユーザで様々な操作をしてみるが、結果は良好
見事に弾かれる。これでRSS中のリンクから参照されても、ドキュメントにアクセス権限が無ければ見れない環境ができた。

あとは、既存ドキュメントのアクセス権を、フォルダ単位で一括変更する機能だー。
Windowsのフォルダセキュリティ変更した場合と同様、サブフォルダやドキュメントのセキュリティを変更する機能ですわ。許可するユーザグループと許可するユーザを複数値で持たせるヤツ。

セキュリティって考えれば考えるほど底なし沼・・・・SQLインジェクションとかセッションハイジャックとか不正なポストだとか・・・はぅ
いっそのことイントラネットで使うならいいじゃん!」と言い放ちたいところであるが、昨今はやれ個人情報保護だの情報漏えいだのとやかましい。
それ言っちゃったら、認証をクライアント証明書に対応するとか、他のシステムの認証と統合するだの、IPやりファラーで弾くだの・・・・終わらないっつうの。←誰に言ってるんだか