Documentation / zerotal / auth / RequirePermissionMiddleware
Class: RequirePermissionMiddleware
Defined in: packages/auth/src/rbac/RequirePermissionMiddleware.ts:15
RequirePermissionMiddleware — assert the authenticated user has one of the
given abilities via the relational Roles / Permissions mixins
(user.can(), wildcard-aware). The user model must expose can(); otherwise
the request is forbidden.
Example
Router.get('/posts/:id/publish', PostController, 'publish', [
RequirePermissionMiddleware.for('post.publish'),
]);
Extends
Constructors
Constructor
new RequirePermissionMiddleware(...
abilities):RequirePermissionMiddleware
Defined in: packages/auth/src/rbac/RequirePermissionMiddleware.ts:19
Parameters
abilities
...string[]
Returns
RequirePermissionMiddleware
Overrides
Properties
options
protectedoptions:object={}
Defined in: packages/auth/src/rbac/RequirePermissionMiddleware.ts:16
Subclasses must declare this with their default option values. TypeScript enforces this at compile time — forgetting it is a type error.
Overrides
Methods
for()
staticfor(...abilities):RequirePermissionMiddleware
Defined in: packages/auth/src/rbac/RequirePermissionMiddleware.ts:27
Fluent factory: RequirePermissionMiddleware.for('post.update', 'post.*')
Parameters
abilities
...string[]
Returns
RequirePermissionMiddleware
handle()
handle(
http,next):Promise<void|Response>
Defined in: packages/auth/src/rbac/RequirePermissionMiddleware.ts:31
Parameters
http
next
Returns
Promise<void | Response>
Overrides
with()
staticwith<T,Opts>(this,options): () =>InstanceType<T>
Defined in: packages/core/src/middleware/BaseMiddleware.ts:48
Returns a zero-arg subclass with the given options deep-merged on top of the subclass defaults, usable directly in app.use([...]).
Type Parameters
T
T extends (...args) => BaseMiddleware<any>
Opts
Opts = T extends (...args) => BaseMiddleware<U> ? U : object
Parameters
this
T
options
Partial<Opts>
Returns
() => InstanceType<T>
Inherited from
afterResponse()?
optionalafterResponse(ctx):Promise<void>
Defined in: packages/core/src/middleware/BaseMiddleware.ts:70
Parameters
ctx
Returns
Promise<void>
Inherited from
onError()?
optionalonError(ctx,error):Promise<void>
Defined in: packages/core/src/middleware/BaseMiddleware.ts:71
Parameters
ctx
error
Error
Returns
Promise<void>