@spinajs/rbac 2.0.521 → 2.0.523
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/actions.d.ts +269 -93
- package/lib/cjs/actions.d.ts.map +1 -1
- package/lib/cjs/actions.js +695 -354
- package/lib/cjs/actions.js.map +1 -1
- package/lib/cjs/auth.d.ts.map +1 -1
- package/lib/cjs/auth.js +6 -6
- package/lib/cjs/auth.js.map +1 -1
- package/lib/cjs/cli/ChangeUserPassword.d.ts.map +1 -1
- package/lib/cjs/cli/ChangeUserPassword.js +2 -2
- package/lib/cjs/cli/ChangeUserPassword.js.map +1 -1
- package/lib/cjs/cli/CreateUser.d.ts.map +1 -1
- package/lib/cjs/cli/CreateUser.js +8 -1
- package/lib/cjs/cli/CreateUser.js.map +1 -1
- package/lib/cjs/config/rbac.d.ts +40 -0
- package/lib/cjs/config/rbac.d.ts.map +1 -1
- package/lib/cjs/config/rbac.js +40 -0
- package/lib/cjs/config/rbac.js.map +1 -1
- package/lib/cjs/events/UserCreated.d.ts +2 -1
- package/lib/cjs/events/UserCreated.d.ts.map +1 -1
- package/lib/cjs/events/UserCreated.js +13 -3
- package/lib/cjs/events/UserCreated.js.map +1 -1
- package/lib/cjs/exceptions.d.ts +69 -0
- package/lib/cjs/exceptions.d.ts.map +1 -0
- package/lib/cjs/exceptions.js +86 -0
- package/lib/cjs/exceptions.js.map +1 -0
- package/lib/cjs/index.d.ts +3 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +3 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +2 -31
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +1 -12
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/middleware.d.ts +16 -6
- package/lib/cjs/middleware.d.ts.map +1 -1
- package/lib/cjs/middleware.js +151 -90
- package/lib/cjs/middleware.js.map +1 -1
- package/lib/cjs/orm-permission.d.ts +77 -0
- package/lib/cjs/orm-permission.d.ts.map +1 -0
- package/lib/cjs/orm-permission.js +128 -0
- package/lib/cjs/orm-permission.js.map +1 -0
- package/lib/cjs/password.d.ts +18 -1
- package/lib/cjs/password.d.ts.map +1 -1
- package/lib/cjs/password.js +61 -5
- package/lib/cjs/password.js.map +1 -1
- package/lib/cjs/permission-service.d.ts +80 -0
- package/lib/cjs/permission-service.d.ts.map +1 -0
- package/lib/cjs/permission-service.js +144 -0
- package/lib/cjs/permission-service.js.map +1 -0
- package/lib/cjs/profile.js +1 -1
- package/lib/cjs/profile.js.map +1 -1
- package/lib/mjs/actions.d.ts +269 -93
- package/lib/mjs/actions.d.ts.map +1 -1
- package/lib/mjs/actions.js +682 -358
- package/lib/mjs/actions.js.map +1 -1
- package/lib/mjs/auth.d.ts.map +1 -1
- package/lib/mjs/auth.js +7 -7
- package/lib/mjs/auth.js.map +1 -1
- package/lib/mjs/cli/ChangeUserPassword.d.ts.map +1 -1
- package/lib/mjs/cli/ChangeUserPassword.js +3 -3
- package/lib/mjs/cli/ChangeUserPassword.js.map +1 -1
- package/lib/mjs/cli/CreateUser.d.ts.map +1 -1
- package/lib/mjs/cli/CreateUser.js +8 -1
- package/lib/mjs/cli/CreateUser.js.map +1 -1
- package/lib/mjs/config/rbac.d.ts +40 -0
- package/lib/mjs/config/rbac.d.ts.map +1 -1
- package/lib/mjs/config/rbac.js +40 -0
- package/lib/mjs/config/rbac.js.map +1 -1
- package/lib/mjs/events/UserCreated.d.ts +2 -1
- package/lib/mjs/events/UserCreated.d.ts.map +1 -1
- package/lib/mjs/events/UserCreated.js +13 -3
- package/lib/mjs/events/UserCreated.js.map +1 -1
- package/lib/mjs/exceptions.d.ts +69 -0
- package/lib/mjs/exceptions.d.ts.map +1 -0
- package/lib/mjs/exceptions.js +71 -0
- package/lib/mjs/exceptions.js.map +1 -0
- package/lib/mjs/index.d.ts +3 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +3 -0
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +2 -31
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +0 -11
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/middleware.d.ts +16 -6
- package/lib/mjs/middleware.d.ts.map +1 -1
- package/lib/mjs/middleware.js +152 -91
- package/lib/mjs/middleware.js.map +1 -1
- package/lib/mjs/orm-permission.d.ts +77 -0
- package/lib/mjs/orm-permission.d.ts.map +1 -0
- package/lib/mjs/orm-permission.js +119 -0
- package/lib/mjs/orm-permission.js.map +1 -0
- package/lib/mjs/password.d.ts +18 -1
- package/lib/mjs/password.d.ts.map +1 -1
- package/lib/mjs/password.js +62 -6
- package/lib/mjs/password.js.map +1 -1
- package/lib/mjs/permission-service.d.ts +80 -0
- package/lib/mjs/permission-service.d.ts.map +1 -0
- package/lib/mjs/permission-service.js +137 -0
- package/lib/mjs/permission-service.js.map +1 -0
- package/lib/mjs/profile.js +2 -2
- package/lib/mjs/profile.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -11
package/lib/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,eAAe,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C,OAAO,EAAc,YAAY,EAAkB,MAAM,aAAa,CAAC;AAMvE,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,yBAAyB,CAAC;AACjC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AAKxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iDAAiD,CAAC;AAChE,cAAc,sDAAsD,CAAC;AACrE,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AAGjC,QAAA,MAAQ,UAAU,sBAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AAErC,qBACa,gBAAiB,SAAQ,YAAY;IACzC,SAAS,IAAI,IAAI,CAyFvB;CACF"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,eAAe,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAI9C,OAAO,EAAc,YAAY,EAAkB,MAAM,aAAa,CAAC;AAMvE,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,yBAAyB,CAAC;AACjC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AAKxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iDAAiD,CAAC;AAChE,cAAc,sDAAsD,CAAC;AACrE,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AAGjC,QAAA,MAAQ,UAAU,sBAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AAErC,qBACa,gBAAiB,SAAQ,YAAY;IACzC,SAAS,IAAI,IAAI,CAyFvB;CACF"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -41,6 +41,7 @@ const User_js_1 = require("./models/User.js");
|
|
|
41
41
|
const UserMetadata_js_1 = require("./models/UserMetadata.js");
|
|
42
42
|
const model_token_js_1 = require("./model-token.js");
|
|
43
43
|
__exportStar(require("./interfaces.js"), exports);
|
|
44
|
+
__exportStar(require("./exceptions.js"), exports);
|
|
44
45
|
__exportStar(require("./auth.js"), exports);
|
|
45
46
|
__exportStar(require("./password.js"), exports);
|
|
46
47
|
__exportStar(require("./session.js"), exports);
|
|
@@ -54,6 +55,8 @@ __exportStar(require("./events/index.js"), exports);
|
|
|
54
55
|
__exportStar(require("./actions.js"), exports);
|
|
55
56
|
__exportStar(require("./middleware.js"), exports);
|
|
56
57
|
__exportStar(require("./decorators.js"), exports);
|
|
58
|
+
__exportStar(require("./orm-permission.js"), exports);
|
|
59
|
+
__exportStar(require("./permission-service.js"), exports);
|
|
57
60
|
__exportStar(require("./util.js"), exports);
|
|
58
61
|
__exportStar(require("./profile.js"), exports);
|
|
59
62
|
__exportStar(require("./impersonation.js"), exports);
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAA+B;AAC/B,iDAA8C;8FAArC,6BAAa;AAEtB,6CAAgD;AAEhD,oCAAuE;AACvE,0DAAuD;AACvD,sCAAmC;AAInC,qBAAmB;AACnB,yBAAuB;AACvB,wBAAsB;AACtB,mCAAiC;AACjC,8BAA4B;AAC5B,0BAAwB;AACxB,8CAAqE;AACrE,8DAA4D;AAC5D,qDAA8D;AAE9D,kDAAgC;AAChC,4CAA0B;AAC1B,gDAA8B;AAC9B,+CAA6B;AAC7B,0DAAwC;AACxC,qDAAmC;AACnC,mDAAiC;AACjC,2DAAyC;AACzC,kFAAgE;AAChE,uFAAqE;AACrE,oDAAkC;AAClC,+CAA6B;AAC7B,kDAAgC;AAChC,kDAAgC;AAChC,4CAA0B;AAC1B,+CAA6B;AAC7B,qDAAmC;AACnC,iDAA+B;AAC/B,mDAAiC;AAEjC,wEAAwE;AACxE,MAAM,EAAE,UAAU,EAAE,GAAG,uBAAE,CAAC;QACF,UAAU;AAG3B,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,iBAAY;IACzC,SAAS;QACd;;;;;;WAMG;QACH,kCAAgB,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,kCAAgB,CAAC,WAAW,EAAE,GAAG,qCAA2B,CAAC,CAAC,CAAC,CAAC;QAE/G,8EAA8E;QAC9E,2EAA2E;QAC3E,IAAI,CAAC,OAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAe,CAAC,EAAE,CAAC;YACjD,OAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,CAAC,OAAO,CAAC,gCAAe,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,6BAAa,EAAE,CAAC;QAC/B,OAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACzC,OAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,SAAqB,EAAE,aAA4B,EAAE,EAAE;YAC3F,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAgB,eAAe,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,SAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7C,GAAG,CAAC,IAAI,CAAC,wGAAwG,CAAC,CAAC;YACrH,CAAC;iBAAM,CAAC;gBACN,EAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH;;WAEG;QACH,OAAE,CAAC,QAAQ,CAAC,CAAC,CAAa,EAAE,QAAgB,EAAE,EAAE;YAC9C,OAAO,IAAA,0BAAS,GAAE;iBACf,KAAK,CAAC;gBACL,IAAI,EAAE,QAAQ;aACf,CAAC;iBACD,QAAQ,CAAC,UAAU,CAAC;iBACpB,YAAY,EAAE;iBACd,WAAW,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAEzB,OAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,GAAG,OAAE,CAAC,GAAG,CAAC,6BAAa,CAAC,CAAC;YACnC,MAAM,YAAY,GAAG,IAAK,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAEjE,OAAO,IAAI,CAAC,IAAA,0BAAS,GAAE,CAAC,CAAC;gBACvB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,CAAC,OAAO,CAAC;gBACf,QAAQ,EAAE,YAAY;aACvB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;QAE9B,OAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACtB;;;;;;;;;;;;;;eAcG;YACH,MAAM,KAAK,GAAG,OAAE,CAAC,GAAG,CAAC,+BAAiB,CAAqD,CAAC;YAC5F,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAA,0BAAS,GAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YAE/G,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,MAAM,MAAM,EAAE,CAAC;YACxB,CAAC;YAED,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,wBAAwB,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;QAE/B,OAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,IAAY,EAAE,EAAE;YACpC,OAAO,IAAI,CAAC,IAAA,0BAAS,GAAE,CAAC,CAAC;gBACvB,KAAK,EAAE,oBAAoB,IAAI,IAAI;gBACnC,KAAK,EAAE,oBAAoB,IAAI,WAAW;gBAC1C,IAAI,EAAE,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;IACnC,CAAC;CACF,CAAA;;2BA3FY,gBAAgB;IAD5B,IAAA,eAAU,EAAC,iBAAY,CAAC;GACZ,gBAAgB,CA2F5B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/interfaces.d.ts
CHANGED
|
@@ -93,7 +93,8 @@ export declare abstract class PasswordProvider {
|
|
|
93
93
|
*/
|
|
94
94
|
abstract hash(input: string): Promise<string>;
|
|
95
95
|
/**
|
|
96
|
-
* Generates random
|
|
96
|
+
* Generates a random password drawn from `rbac.password.generator` and
|
|
97
|
+
* satisfying `rbac.password.validation.rule`.
|
|
97
98
|
*/
|
|
98
99
|
abstract generate(): string;
|
|
99
100
|
}
|
|
@@ -257,37 +258,7 @@ export declare abstract class SessionProvider<T extends ISession = ISession> ext
|
|
|
257
258
|
*/
|
|
258
259
|
protected isExpired(s: ISession): boolean;
|
|
259
260
|
}
|
|
260
|
-
export declare enum AthenticationErrorCodes {
|
|
261
|
-
E_USER_BANNED = 1,
|
|
262
|
-
E_USER_NOT_ACTIVE = 2,
|
|
263
|
-
E_INVALID_CREDENTIALS = 3,
|
|
264
|
-
E_LOGIN_ATTEMPTS_EXCEEDED = 4
|
|
265
|
-
}
|
|
266
261
|
export type PermissionType = 'readAny' | 'readOwn' | 'updateAny' | 'updateOwn' | 'deleteAny' | 'deleteOwn' | 'createAny' | 'createOwn';
|
|
267
|
-
/**
|
|
268
|
-
* Static a model may declare to constrain ONE operation, checked by
|
|
269
|
-
* `RbacModelPermissionMiddleware` before the generic `rbac` fallback.
|
|
270
|
-
*
|
|
271
|
-
* The hook receives the query builder as `this` and the acting user as its only argument,
|
|
272
|
-
* and is called only on the `:own` path — an `:any` grant short-circuits before it.
|
|
273
|
-
*
|
|
274
|
-
* ```ts
|
|
275
|
-
* class Entry extends ModelBase<Entry> {
|
|
276
|
-
* // fallback for whichever of read / update / delete has no specific hook
|
|
277
|
-
* static rbac(this: IWhereBuilder<Entry>, user: User) { ... }
|
|
278
|
-
* static rbacDelete(this: DeleteQueryBuilder<Entry>, user: User) { ... }
|
|
279
|
-
* }
|
|
280
|
-
* ```
|
|
281
|
-
*
|
|
282
|
-
* `rbacCreate` is deliberately excluded from the `rbac` fallback: `rbac` has only ever run
|
|
283
|
-
* on builders with a WHERE clause, so every existing implementation is where-shaped and
|
|
284
|
-
* `InsertQueryBuilder` has no `where`. See {@link RBAC_HOOK_FALLBACK}.
|
|
285
|
-
*/
|
|
286
|
-
export type RbacHookName = 'rbacRead' | 'rbacUpdate' | 'rbacDelete' | 'rbacCreate';
|
|
287
|
-
/**
|
|
288
|
-
* Name of the generic hook every operation except create falls back to.
|
|
289
|
-
*/
|
|
290
|
-
export declare const RBAC_HOOK_FALLBACK = "rbac";
|
|
291
262
|
export interface IRbacModelDescriptor extends IModelDescriptor {
|
|
292
263
|
RbacResource: string;
|
|
293
264
|
OwnerField: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzI,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAiB,YAAY;QAC3B;;;;;;;WAOG;QACH,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,aAAa,CAAC;QAElI;;;;WAIG;QACH,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAErE;;;;WAIG;QACH,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7E;;;;WAIG;QACH,cAAc,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACpG;CACF;AAED,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC;IAEtB;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5B;AAED;;;;;GAKG;AACH,8BAAsB,yBAAyB;IAC7C;;OAEG;IACH,SAAgB,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAEjE;;OAEG;IACH,SAAgB,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CAChE;AAED;;GAEG;AACH,8BAAsB,gBAAgB;IACpC;;;;;;OAMG;IACH,SAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,SAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAErD
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/interfaces.js
CHANGED
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.UserProfileProvider = exports.UserProfile = exports.PasswordValidationProvider = exports.
|
|
12
|
+
exports.UserProfileProvider = exports.UserProfile = exports.PasswordValidationProvider = exports.SessionProvider = exports.FederatedAuthProvider = exports.AuthProvider = exports.PasswordProvider = exports.SessionExpirationProvider = void 0;
|
|
13
13
|
const di_1 = require("@spinajs/di");
|
|
14
14
|
const configuration_1 = require("@spinajs/configuration");
|
|
15
15
|
const luxon_1 = require("luxon");
|
|
@@ -72,17 +72,6 @@ __decorate([
|
|
|
72
72
|
(0, configuration_1.AutoinjectService)('rbac.session.expiration'),
|
|
73
73
|
__metadata("design:type", SessionExpirationProvider)
|
|
74
74
|
], SessionProvider.prototype, "Expiration", void 0);
|
|
75
|
-
var AthenticationErrorCodes;
|
|
76
|
-
(function (AthenticationErrorCodes) {
|
|
77
|
-
AthenticationErrorCodes[AthenticationErrorCodes["E_USER_BANNED"] = 1] = "E_USER_BANNED";
|
|
78
|
-
AthenticationErrorCodes[AthenticationErrorCodes["E_USER_NOT_ACTIVE"] = 2] = "E_USER_NOT_ACTIVE";
|
|
79
|
-
AthenticationErrorCodes[AthenticationErrorCodes["E_INVALID_CREDENTIALS"] = 3] = "E_INVALID_CREDENTIALS";
|
|
80
|
-
AthenticationErrorCodes[AthenticationErrorCodes["E_LOGIN_ATTEMPTS_EXCEEDED"] = 4] = "E_LOGIN_ATTEMPTS_EXCEEDED";
|
|
81
|
-
})(AthenticationErrorCodes || (exports.AthenticationErrorCodes = AthenticationErrorCodes = {}));
|
|
82
|
-
/**
|
|
83
|
-
* Name of the generic hook every operation except create falls back to.
|
|
84
|
-
*/
|
|
85
|
-
exports.RBAC_HOOK_FALLBACK = 'rbac';
|
|
86
75
|
/**
|
|
87
76
|
* Interface to provide implementation of password rule validation
|
|
88
77
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,oCAA2C;AAC3C,0DAA2D;AAE3D,iCAAiC;AAkEjC;;;;;GAKG;AACH;CAUC;;AAED;;GAEG;AACH;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,oCAA2C;AAC3C,0DAA2D;AAE3D,iCAAiC;AAkEjC;;;;;GAKG;AACH;CAUC;;AAED;;GAEG;AACH;CAuBC;;AAED;;;;;GAKG;AACH;CAgEC;;AAED;;;;;;GAMG;AACH;CAwBC;;AAED,qBAAqE,SAAQ,iBAAY;IA8DvF;;OAEG;IACO,sBAAsB,CAAC,CAAW;QAC1C,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACO,sBAAsB,CAAC,CAAW;QAC1C,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACO,SAAS,CAAC,CAAW;QAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,gBAAQ,CAAC,GAAG,EAAE,CAAC;IAC1D,CAAC;CACF;;AA3EW;IADT,IAAA,iCAAiB,EAAC,yBAAyB,CAAC;8BACtB,yBAAyB;mDAAC;AA4FnD;;GAEG;AACH;CAEC;;AAGD;IAIE,YAAmB,IAAW,EAAE,IAAU;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF;;AAED;;;;;GAKG;AACH;CAEC"}
|
package/lib/cjs/middleware.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { Class } from '@spinajs/di';
|
|
2
|
+
import { ModelBase, QueryBuilder, QueryMiddleware } from '@spinajs/orm';
|
|
3
|
+
import { IRbacModelDescriptor, PermissionType } from './interfaces.js';
|
|
4
4
|
import { Log } from '@spinajs/log-common';
|
|
5
|
+
import type { User } from './models/User.js';
|
|
6
|
+
import { OrmPermissionPolicy } from './orm-permission.js';
|
|
5
7
|
export declare class RbacModelPermissionMiddleware extends QueryMiddleware {
|
|
6
8
|
protected Log: Log;
|
|
7
|
-
protected Ac: AccessControl;
|
|
8
9
|
/**
|
|
9
10
|
* INSERT is enforced here rather than in `afterQueryCreation` because the row payload does
|
|
10
11
|
* not exist at construction time — `values()` is called afterwards and would overwrite an
|
|
@@ -13,6 +14,14 @@ export declare class RbacModelPermissionMiddleware extends QueryMiddleware {
|
|
|
13
14
|
*/
|
|
14
15
|
beforeQueryExecution(builder: QueryBuilder<any>): Promise<void>;
|
|
15
16
|
afterQueryCreation(builder: QueryBuilder): void;
|
|
17
|
+
/**
|
|
18
|
+
* Policies to apply for this query: one per distinct scope name across the caller's
|
|
19
|
+
* granted roles. A role without the grant must not contribute a policy — that would
|
|
20
|
+
* WIDEN the OR-composition in `afterQueryCreation`. Multiple distinct scopes OR-compose
|
|
21
|
+
* downstream: permissions are additive, a row is reachable if any granted role's policy
|
|
22
|
+
* admits it.
|
|
23
|
+
*/
|
|
24
|
+
protected policiesFor(roles: string[], resource: string, ownScope: PermissionType, descriptor: IRbacModelDescriptor, model: Class<ModelBase<unknown>> | undefined): OrmPermissionPolicy[];
|
|
16
25
|
/**
|
|
17
26
|
* Everything both hooks need, or `undefined` when this query is not subject to a check.
|
|
18
27
|
*
|
|
@@ -26,8 +35,9 @@ export declare class RbacModelPermissionMiddleware extends QueryMiddleware {
|
|
|
26
35
|
canOwn: boolean;
|
|
27
36
|
canAny: boolean;
|
|
28
37
|
action: string;
|
|
29
|
-
|
|
30
|
-
|
|
38
|
+
user: User;
|
|
39
|
+
roles: string[];
|
|
40
|
+
ownScope: PermissionType;
|
|
31
41
|
} | undefined;
|
|
32
42
|
}
|
|
33
43
|
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAiF,SAAS,EAAgB,YAAY,EAAE,eAAe,EAA0C,MAAM,cAAc,CAAC;AAE7M,OAAO,EAAqB,oBAAoB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE1F,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAsE,mBAAmB,EAAwE,MAAM,qBAAqB,CAAC;AAkHpM,qBACa,6BAA8B,SAAQ,eAAe;IAEhE,SAAS,CAAC,GAAG,EAAG,GAAG,CAAC;IAEpB;;;;;OAKG;IACG,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDpE;IAED,kBAAkB,CAAC,OAAO,EAAE,YAAY,QAgEvC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,mBAAmB,EAAE,CAgDxL;IAED;;;;;;OAMG;IACH,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY;;;;;;;;;kBA0DtC;CACF"}
|
package/lib/cjs/middleware.js
CHANGED
|
@@ -13,13 +13,12 @@ exports.RbacModelPermissionMiddleware = void 0;
|
|
|
13
13
|
const di_1 = require("@spinajs/di");
|
|
14
14
|
const orm_1 = require("@spinajs/orm");
|
|
15
15
|
const async_hooks_1 = require("async_hooks");
|
|
16
|
-
const interfaces_js_1 = require("./interfaces.js");
|
|
17
|
-
const accesscontrol_1 = require("accesscontrol");
|
|
18
16
|
const exceptions_1 = require("@spinajs/exceptions");
|
|
19
17
|
const log_common_1 = require("@spinajs/log-common");
|
|
18
|
+
const orm_permission_js_1 = require("./orm-permission.js");
|
|
19
|
+
const permission_service_js_1 = require("./permission-service.js");
|
|
20
20
|
/**
|
|
21
|
-
* Which permission scopes a builder type is checked against
|
|
22
|
-
* model hook it looks for.
|
|
21
|
+
* Which permission scopes a builder type is checked against.
|
|
23
22
|
*
|
|
24
23
|
* Keyed on the CONSTRUCTOR, not on `constructor.name`. A name-keyed lookup breaks under
|
|
25
24
|
* minification and silently yields "no mapping" — for a security check that means an
|
|
@@ -28,14 +27,13 @@ const log_common_1 = require("@spinajs/log-common");
|
|
|
28
27
|
* `InsertQueryBuilder` was missing here while `PERMISSION_SCOPE_TO_QUERY` claimed to
|
|
29
28
|
* support `createOwn`/`createAny`, so the insert branch of the middleware could only ever
|
|
30
29
|
* have thrown a TypeError. The inverse map below is now DERIVED from this one, so the two
|
|
31
|
-
* cannot drift apart again
|
|
32
|
-
* can never be paired with the wrong builder type.
|
|
30
|
+
* cannot drift apart again.
|
|
33
31
|
*/
|
|
34
32
|
const QUERY_TO_PERMISSION = new Map([
|
|
35
|
-
[orm_1.DeleteQueryBuilder, { own: 'deleteOwn', all: 'deleteAny'
|
|
36
|
-
[orm_1.UpdateQueryBuilder, { own: 'updateOwn', all: 'updateAny'
|
|
37
|
-
[orm_1.SelectQueryBuilder, { own: 'readOwn', all: 'readAny'
|
|
38
|
-
[orm_1.InsertQueryBuilder, { own: 'createOwn', all: 'createAny'
|
|
33
|
+
[orm_1.DeleteQueryBuilder, { own: 'deleteOwn', all: 'deleteAny' }],
|
|
34
|
+
[orm_1.UpdateQueryBuilder, { own: 'updateOwn', all: 'updateAny' }],
|
|
35
|
+
[orm_1.SelectQueryBuilder, { own: 'readOwn', all: 'readAny' }],
|
|
36
|
+
[orm_1.InsertQueryBuilder, { own: 'createOwn', all: 'createAny' }],
|
|
39
37
|
]);
|
|
40
38
|
/** Derived inverse of {@link QUERY_TO_PERMISSION}. Never hand-maintained. */
|
|
41
39
|
const PERMISSION_SCOPE_TO_QUERY = new Map();
|
|
@@ -56,32 +54,60 @@ function permissionsFor(builder) {
|
|
|
56
54
|
return undefined;
|
|
57
55
|
}
|
|
58
56
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
57
|
+
* Steps from `model` up its prototype (class inheritance) chain to `boundModel`, or
|
|
58
|
+
* `undefined` if `boundModel` is not `model` itself or an ancestor. ES class inheritance
|
|
59
|
+
* puts the parent constructor at `Object.getPrototypeOf(Child)`, so walking constructors —
|
|
60
|
+
* not instances — is the correct way to test "is a subclass of".
|
|
61
|
+
*/
|
|
62
|
+
function distanceTo(model, boundModel) {
|
|
63
|
+
let current = model;
|
|
64
|
+
for (let distance = 0; current; distance++) {
|
|
65
|
+
if (current === boundModel) {
|
|
66
|
+
return distance;
|
|
67
|
+
}
|
|
68
|
+
current = Object.getPrototypeOf(current);
|
|
69
|
+
}
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Picks the policy bound to `model` itself or the closest bound ancestor. Two unrelated
|
|
74
|
+
* models can share one resource+scope key on purpose (CampaignFileAttachment /
|
|
75
|
+
* ArrowV1CampaignView) — the resource string alone cannot disambiguate them, so every
|
|
76
|
+
* candidate is checked against `model`'s actual prototype chain. When both an ancestor-bound
|
|
77
|
+
* and an exact-bound policy are registered, the most-derived (smallest distance) one wins.
|
|
72
78
|
*/
|
|
73
|
-
function
|
|
74
|
-
|
|
75
|
-
if (!statics) {
|
|
79
|
+
function selectPolicyClass(candidates, model) {
|
|
80
|
+
if (!candidates) {
|
|
76
81
|
return undefined;
|
|
77
82
|
}
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
let best;
|
|
84
|
+
let bestDistance = Infinity;
|
|
85
|
+
for (const candidate of candidates) {
|
|
86
|
+
const boundModel = (0, orm_permission_js_1.ormPermissionModel)(candidate);
|
|
87
|
+
if (!boundModel) {
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
const distance = distanceTo(model, boundModel);
|
|
91
|
+
if (distance !== undefined && distance < bestDistance) {
|
|
92
|
+
best = candidate;
|
|
93
|
+
bestDistance = distance;
|
|
94
|
+
}
|
|
80
95
|
}
|
|
81
|
-
|
|
82
|
-
|
|
96
|
+
return best;
|
|
97
|
+
}
|
|
98
|
+
/** Fallback for models with `@ResourceOwner()` and no registered policy class. */
|
|
99
|
+
class OwnerFieldPolicy extends orm_permission_js_1.OrmPermissionPolicy {
|
|
100
|
+
constructor(ownerField) {
|
|
101
|
+
super();
|
|
102
|
+
this.ownerField = ownerField;
|
|
103
|
+
}
|
|
104
|
+
scope(query, user) {
|
|
105
|
+
query.andWhere(this.ownerField, user.PrimaryKeyValue);
|
|
106
|
+
}
|
|
107
|
+
async authorizeCreate(query, user) {
|
|
108
|
+
// Overwrite, never merge: a caller-supplied owner id is exactly the IDOR this closes.
|
|
109
|
+
query.forceColumn(this.ownerField, user.PrimaryKeyValue);
|
|
83
110
|
}
|
|
84
|
-
return undefined;
|
|
85
111
|
}
|
|
86
112
|
let RbacModelPermissionMiddleware = class RbacModelPermissionMiddleware extends orm_1.QueryMiddleware {
|
|
87
113
|
/**
|
|
@@ -106,26 +132,31 @@ let RbacModelPermissionMiddleware = class RbacModelPermissionMiddleware extends
|
|
|
106
132
|
if (!canOwn) {
|
|
107
133
|
throw new exceptions_1.Forbidden(`User does not have permission to access ${resource}:${context.action} permission`);
|
|
108
134
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
135
|
+
const policies = this.policiesFor(context.roles, resource, context.ownScope, descriptor, builder.Model);
|
|
136
|
+
// A candidate that does not opt into insert control denies by default (see
|
|
137
|
+
// OrmPermissionPolicy.authorizeCreate). Pre-refactor, a model with no rbacCreate static
|
|
138
|
+
// but an OwnerField had its owner column stamped and the insert allowed — an unrelated
|
|
139
|
+
// policy registered only for scope() must not shadow that. Deny-by-default is kept when
|
|
140
|
+
// there is no OwnerField to fall back to.
|
|
141
|
+
const createPolicies = policies.map((policy) => {
|
|
142
|
+
const opensOwnCreate = policy.authorizeCreate !== orm_permission_js_1.OrmPermissionPolicy.prototype.authorizeCreate;
|
|
143
|
+
return !opensOwnCreate && descriptor.OwnerField ? new OwnerFieldPolicy(descriptor.OwnerField) : policy;
|
|
144
|
+
});
|
|
145
|
+
// Multiple distinct scopes OR-compose on inserts too: the insert is allowed if ANY
|
|
146
|
+
// granted role's policy authorizes it. Policies are tried in registration-set order;
|
|
147
|
+
// when every one denies, the last error propagates.
|
|
148
|
+
let lastError;
|
|
149
|
+
for (const policy of createPolicies) {
|
|
150
|
+
try {
|
|
151
|
+
this.Log.trace(`Applying authorizeCreate of ${policy.constructor.name} for ${resource}`);
|
|
152
|
+
await policy.authorizeCreate(builder, context.user);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
lastError = err;
|
|
157
|
+
}
|
|
126
158
|
}
|
|
127
|
-
|
|
128
|
-
builder.forceColumn(descriptor.OwnerField, context.user.PrimaryKeyValue);
|
|
159
|
+
throw lastError;
|
|
129
160
|
}
|
|
130
161
|
afterQueryCreation(builder) {
|
|
131
162
|
// Insert is handled at execution time; anything else without a WHERE clause to constrain
|
|
@@ -146,11 +177,6 @@ let RbacModelPermissionMiddleware = class RbacModelPermissionMiddleware extends
|
|
|
146
177
|
throw new exceptions_1.Forbidden(`User does not have permission to access ${resource}:${context.action} permission`);
|
|
147
178
|
}
|
|
148
179
|
this.Log.trace(`Resource ${resource}:own permission granted`);
|
|
149
|
-
/**
|
|
150
|
-
* Model can have a custom rbac permission check, either for this operation
|
|
151
|
-
* specifically (`rbacRead` / `rbacUpdate` / `rbacDelete`) or generically (`rbac`).
|
|
152
|
-
*/
|
|
153
|
-
const rbacFunc = rbacHook(builder.Model, context.hook, true);
|
|
154
180
|
/**
|
|
155
181
|
* `relationScope: 'join'` ( @OrmResource options ): when this model is populated as a
|
|
156
182
|
* BelongsTo relation, its :own constraint folded into the parent WHERE would silently
|
|
@@ -161,31 +187,79 @@ let RbacModelPermissionMiddleware = class RbacModelPermissionMiddleware extends
|
|
|
161
187
|
*/
|
|
162
188
|
const joinScoped = descriptor.RbacRelationScope === 'join' && builder instanceof orm_1.SelectQueryBuilder;
|
|
163
189
|
const user = context.user;
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
rbacFunc.call(builder, user);
|
|
190
|
+
const policies = this.policiesFor(context.roles, resource, context.ownScope, descriptor, builder.Model);
|
|
191
|
+
const method = builder instanceof orm_1.UpdateQueryBuilder ? 'scopeUpdate' : builder instanceof orm_1.DeleteQueryBuilder ? 'scopeDelete' : 'scopeRead';
|
|
192
|
+
const apply = (target) => {
|
|
193
|
+
if (policies.length === 1) {
|
|
194
|
+
policies[0][method](target, user);
|
|
195
|
+
return;
|
|
173
196
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
197
|
+
// Distinct scopes across the caller's roles OR-compose: reachable if ANY admits.
|
|
198
|
+
target.andWhere(function () {
|
|
199
|
+
for (const policy of policies) {
|
|
200
|
+
this.orWhere(function () {
|
|
201
|
+
policy[method](this, user);
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
};
|
|
206
|
+
this.Log.trace(`Applying ${policies.length} permission ${policies.length === 1 ? 'policy' : 'policies'} (${method}) for ${resource}`);
|
|
181
207
|
if (joinScoped) {
|
|
182
208
|
builder.whereOnJoin(function () {
|
|
183
|
-
builder
|
|
209
|
+
apply(builder);
|
|
184
210
|
});
|
|
185
211
|
}
|
|
186
212
|
else {
|
|
187
|
-
builder
|
|
213
|
+
apply(builder);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Policies to apply for this query: one per distinct scope name across the caller's
|
|
218
|
+
* granted roles. A role without the grant must not contribute a policy — that would
|
|
219
|
+
* WIDEN the OR-composition in `afterQueryCreation`. Multiple distinct scopes OR-compose
|
|
220
|
+
* downstream: permissions are additive, a row is reachable if any granted role's policy
|
|
221
|
+
* admits it.
|
|
222
|
+
*/
|
|
223
|
+
policiesFor(roles, resource, ownScope, descriptor, model) {
|
|
224
|
+
const scopeNames = new Set();
|
|
225
|
+
for (const role of roles) {
|
|
226
|
+
// role unknown to accesscontrol answers null — contributes no grant, no scope
|
|
227
|
+
const permission = (0, permission_service_js_1.probeGrant)([role], ownScope, resource);
|
|
228
|
+
if (!permission?.granted) {
|
|
229
|
+
continue;
|
|
230
|
+
}
|
|
231
|
+
const attrs = permission.attributes ?? [];
|
|
232
|
+
const tokens = attrs.filter((a) => typeof a === 'string' && a.startsWith(orm_permission_js_1.PERMISSION_SCOPE_ATTR_PREFIX)).map((a) => a.slice(orm_permission_js_1.PERMISSION_SCOPE_ATTR_PREFIX.length));
|
|
233
|
+
if (tokens.length === 0) {
|
|
234
|
+
scopeNames.add(orm_permission_js_1.DEFAULT_PERMISSION_SCOPE);
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
tokens.forEach((t) => scopeNames.add(t));
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
// canOwn was computed over the role union; per-role queries can still all miss when
|
|
241
|
+
// grants come from odd extension shapes. Degrade to the default scope — resolution
|
|
242
|
+
// below still fails loud if nothing is registered.
|
|
243
|
+
if (scopeNames.size === 0) {
|
|
244
|
+
scopeNames.add(orm_permission_js_1.DEFAULT_PERMISSION_SCOPE);
|
|
188
245
|
}
|
|
246
|
+
const registered = (0, orm_permission_js_1.getOrCreatePolicyMap)();
|
|
247
|
+
const policies = [];
|
|
248
|
+
for (const name of scopeNames) {
|
|
249
|
+
const candidates = registered.get((0, orm_permission_js_1.policyMapKey)(resource, name));
|
|
250
|
+
const policyClass = selectPolicyClass(candidates, model);
|
|
251
|
+
if (policyClass) {
|
|
252
|
+
policies.push(di_1.DI.resolve(policyClass));
|
|
253
|
+
continue;
|
|
254
|
+
}
|
|
255
|
+
if (name === orm_permission_js_1.DEFAULT_PERMISSION_SCOPE && descriptor.OwnerField) {
|
|
256
|
+
policies.push(new OwnerFieldPolicy(descriptor.OwnerField));
|
|
257
|
+
continue;
|
|
258
|
+
}
|
|
259
|
+
this.Log.error(`No OrmPermissionPolicy registered for ${descriptor.Name}/${name} and no OwnerField fallback`);
|
|
260
|
+
throw new orm_1.OrmException(`no OrmPermissionPolicy registered for model ${descriptor.Name} scope '${name}' and no OwnerField fallback — refusing to run an unscoped :own query`);
|
|
261
|
+
}
|
|
262
|
+
return policies;
|
|
189
263
|
}
|
|
190
264
|
/**
|
|
191
265
|
* Everything both hooks need, or `undefined` when this query is not subject to a check.
|
|
@@ -233,22 +307,13 @@ let RbacModelPermissionMiddleware = class RbacModelPermissionMiddleware extends
|
|
|
233
307
|
}
|
|
234
308
|
const ownScope = storage.PermissionScope ?? scopes.own;
|
|
235
309
|
const anyScope = storage.PermissionScope ?? scopes.all;
|
|
236
|
-
const roles =
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
try {
|
|
240
|
-
canAny = this.Ac.can(roles)[anyScope](resource).granted;
|
|
241
|
-
canOwn = this.Ac.can(roles)[ownScope](resource).granted;
|
|
242
|
-
}
|
|
243
|
-
catch (err) {
|
|
244
|
-
// accesscontrol throws eg. "Role not found" when role has no grants registered
|
|
245
|
-
// treat as no permission so caller gets Forbidden instead of library error
|
|
246
|
-
this.Log.trace(`Permission check for roles ${roles} on resource ${resource} failed: ${err.message}, treating as no permission`);
|
|
247
|
-
}
|
|
310
|
+
const roles = (0, permission_service_js_1.effectiveRoles)(storage.User, storage);
|
|
311
|
+
const canAny = (0, permission_service_js_1.probeGrant)(roles, anyScope, resource)?.granted ?? false;
|
|
312
|
+
const canOwn = (0, permission_service_js_1.probeGrant)(roles, ownScope, resource)?.granted ?? false;
|
|
248
313
|
// 'readOwn' -> 'read'. Keeps the Forbidden message accurate per builder type instead of
|
|
249
314
|
// the old hard-coded ':read', which was wrong for updates and deletes.
|
|
250
315
|
const action = anyScope.replace(/(Any|Own)$/, '');
|
|
251
|
-
return { descriptor, resource, canOwn, canAny, action,
|
|
316
|
+
return { descriptor, resource, canOwn, canAny, action, user: storage.User, roles, ownScope };
|
|
252
317
|
}
|
|
253
318
|
};
|
|
254
319
|
exports.RbacModelPermissionMiddleware = RbacModelPermissionMiddleware;
|
|
@@ -256,10 +321,6 @@ __decorate([
|
|
|
256
321
|
(0, log_common_1.Logger)('RBAC'),
|
|
257
322
|
__metadata("design:type", log_common_1.Log)
|
|
258
323
|
], RbacModelPermissionMiddleware.prototype, "Log", void 0);
|
|
259
|
-
__decorate([
|
|
260
|
-
(0, di_1.Autoinject)(),
|
|
261
|
-
__metadata("design:type", accesscontrol_1.AccessControl)
|
|
262
|
-
], RbacModelPermissionMiddleware.prototype, "Ac", void 0);
|
|
263
324
|
exports.RbacModelPermissionMiddleware = RbacModelPermissionMiddleware = __decorate([
|
|
264
325
|
(0, di_1.Injectable)(orm_1.QueryMiddleware)
|
|
265
326
|
], RbacModelPermissionMiddleware);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"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"}
|