Introduce async local storage for request access, more view globals, and improved welcome view
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -7,6 +7,8 @@ import {Middleware} from '../http/routing/Middleware'
|
||||
import {AuthRequiredMiddleware} from './middleware/AuthRequiredMiddleware'
|
||||
import {GuestRequiredMiddleware} from './middleware/GuestRequiredMiddleware'
|
||||
import {SessionAuthMiddleware} from './middleware/SessionAuthMiddleware'
|
||||
import {ViewEngine} from '../views/ViewEngine'
|
||||
import {SecurityContext} from './context/SecurityContext'
|
||||
|
||||
@Injectable()
|
||||
export class Authentication extends Unit {
|
||||
@@ -18,6 +20,13 @@ export class Authentication extends Unit {
|
||||
|
||||
async up(): Promise<void> {
|
||||
this.middleware.registerNamespace('@auth', this.getMiddlewareResolver())
|
||||
|
||||
this.container().onResolve<ViewEngine>(ViewEngine)
|
||||
.then((engine: ViewEngine) => {
|
||||
engine.registerGlobalFactory('user', req => {
|
||||
return () => req?.make<SecurityContext>(SecurityContext)?.getUser()
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
protected getMiddlewareResolver(): CanonicalResolver<StaticInstantiable<Middleware>> {
|
||||
|
||||
Reference in New Issue
Block a user