This object is used to provide you with human, fluent and explicit security authorizations and contexts.
cbSecuritymodel is a specialized service that will allow you to do explicit authorizations in any layer of your ColdBox application.
There will be times where you will need authorization checks outside of the incoming request rules or the handler annotations. This can be from within interceptors, models, layouts or even views. For this, we have provided the
cbSecuritymodel so you can do explicit authorization checks anywhere you like.
You can inject our model or you can use our handy
cbsecure()mixin (handlers/layouts/views) and then call the appropriate security functions:
// Mixin: Handlers/Layouts/Views
property name="cbSecurity" inject="@cbSecurity"
You can now discover our sections for securing using
When certain permission context is met, if not throws
secure( permissions, [message] )
secureAll( permissions, [message] )
secureNone( permissions, [message] )
secureWhen( context, [message] )
guard() alias to secure()
When certain permission context is met, execute the success function/closure, else if a
failclosure is defined, execute that instead.
when( permissions, success, fail )
whenAll( permissions, success, fail )
whenNone( permissions, success, fail )
Verify permissions or user equality
has( permissions ):boolean
all( permissions ):boolean
none( permissions ):boolean
sameUser( user ):boolean
secureView( permissions, successView, failView )