0.11 New Feature : セキュリティオブジェクト
データベースごとに構成情報用のセキュリティオブジェクトがvalidation関数で利用できるようになりました。
なんぞこれ、と思って試してみた。要するに validation 関数で、任意の設定情報を利用できるようにする仕組み。この「セキュリティ」にはものすごく広い意味がありますかね。
validation 関数での利用
/db/_security という特別なURIにPUTされたオブジェクトは validate_doc_update で利用できます。
function(newDoc, oldDoc, userCtx, secObj){ // secObj.foo -> ["bar"] }
なにがうれしいんだろう...
設定ファイルでしかないので、たとえば一時的にメンテナンスなどでリードオンリーにしたいとき、
function(newDoc, oldDoc, userCtx, secObj){ // secObj.foo -> ["bar"] if( secObj.maintenance ){ throw {forbidden: "site is under maintenance...."} } }
とやっておいて、メンテナンス開始時に
PUT /db/_security { "maintenance" : true }
とかとばせばいいのでは、、、、など。