Slide 22
Slide 22 text
AVPとビジネスロジックが切り分けられない場合
function show(request, id):
if (!client.is_authorized(request)) {
return Exception('Access Denied')
}
:
:
select = ""
if (!is_business(request)) { // エンタープライズプランなら機密情報へのアクセス可能
select = ",secret"
}
sql = "SELECT profile" + select + " FROM human_resources"
permit (principal, action, resource)
when {
principal has custom &&
principal.custom has plan &&
principal.custom.plan in [“business”, “enterprise”,
“personal”]
};
後から追加した条件によって本来enterpriseしかアクセス
できないデータにpersonalプランの人もアクセスできてし
まう