-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Merge branch dev with rel-10.1 #24749
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Replaces all references to 'authorization.md' with 'authorization/index.md' across documentation files to reflect the new file structure. This ensures all internal links to the authorization documentation remain valid after the file was moved and renamed.
Documentation for Resource Based Authorization
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Updates documentation links and content to align with the new framework/fundamentals/authorization/index.md structure, and introduces new documentation for resource-based authorization and resource permission management.
Changes:
- Repoint many docs from
.../authorization.mdto.../authorization/index.md. - Add new Resource-Based Authorization document and expose it in the docs navigation.
- Expand Permission Management module docs to cover resource-based permissions, UI dialogs, and related APIs.
Reviewed changes
Copilot reviewed 36 out of 37 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/en/tutorials/book-store/part-08.md | Updates authorization doc link to authorization/index.md. |
| docs/en/tutorials/book-store/part-05.md | Updates authorization doc link to authorization/index.md. |
| docs/en/solution-templates/single-layer-web-application/solution-structure.md | Updates permissions/authorization link to new authorization index. |
| docs/en/solution-templates/single-layer-web-application/overview.md | Updates permission (authorization) link to new authorization index. |
| docs/en/solution-templates/microservice/permission-management.md | Updates permissions definition link to new authorization index. |
| docs/en/solution-templates/microservice/overview.md | Updates permission (authorization) link to new authorization index. |
| docs/en/solution-templates/layered-web-application/overview.md | Updates permission (authorization) link to new authorization index. |
| docs/en/modules/permission-management.md | Adds resource permission management docs and updates authorization links. |
| docs/en/modules/openiddict.md | Updates deep link to “Claims Principal Factory” section under authorization index. |
| docs/en/modules/openiddict-pro.md | Updates deep link to “Claims Principal Factory” section under authorization index. |
| docs/en/modules/identity.md | Updates authorization doc link to new authorization index. |
| docs/en/modules/identity-pro.md | Updates permission-system anchor link to new authorization index. |
| docs/en/index.md | Updates top-level “Authorization” link to new authorization index. |
| docs/en/framework/ui/mvc-razor-pages/widgets.md | Updates authorization links to new authorization index. |
| docs/en/framework/ui/mvc-razor-pages/toolbars.md | Updates authorization link to new authorization index. |
| docs/en/framework/ui/mvc-razor-pages/page-toolbar-extensions.md | Updates authorization link to new authorization index. |
| docs/en/framework/ui/mvc-razor-pages/navigation-menu.md | Updates authorization link to new authorization index. |
| docs/en/framework/ui/mvc-razor-pages/javascript-api/auth.md | Updates authorization doc link to new authorization index. |
| docs/en/framework/ui/mvc-razor-pages/javascript-api/ajax.md | Updates permission/authorization link to new authorization index. |
| docs/en/framework/ui/mvc-razor-pages/auto-complete-select.md | Updates unauthorized/authorization link to new authorization index. |
| docs/en/framework/ui/blazor/page-toolbar-extensions.md | Updates authorization link to new authorization index. |
| docs/en/framework/ui/blazor/authorization.md | Updates server-side authorization links to new authorization index. |
| docs/en/framework/ui/angular/permission-management.md | Updates authorization link to new authorization index. |
| docs/en/framework/infrastructure/interceptors.md | Updates section link to authorization index. |
| docs/en/framework/infrastructure/background-jobs/hangfire.md | Updates authorization system link to new authorization index. |
| docs/en/framework/fundamentals/index.md | Points “Authorization” entry to authorization/index.md. |
| docs/en/framework/fundamentals/exception-handling.md | Updates authorization link to new authorization index. |
| docs/en/framework/fundamentals/dynamic-claims.md | Updates “See Also” authorization link to new authorization index. |
| docs/en/framework/fundamentals/authorization/resource-based-authorization.md | New doc: resource-based authorization concepts and usage. |
| docs/en/framework/fundamentals/authorization/index.md | Updates relative links and adds resource-permission sections and references. |
| docs/en/framework/architecture/modularity/extending/customizing-application-modules-guide.md | Updates authorization doc link to new authorization index. |
| docs/en/framework/architecture/domain-driven-design/entities.md | Adds documentation for IKeyedObject. |
| docs/en/framework/architecture/domain-driven-design/application-services.md | Updates authorization doc link to new authorization index. |
| docs/en/framework/api-development/standard-apis/configuration.md | Updates policies/authorization link to new authorization index. |
| docs/en/docs-nav.json | Updates authorization overview path and adds Resource-Based Authorization entry. |
| docs/en/deployment/configuring-production.md | Updates authorization link to new authorization index. |
Comments suppressed due to low confidence (2)
docs/en/framework/fundamentals/authorization/index.md:450
- The relative link to the dependency injection document is incorrect from this location and will likely be broken. From
framework/fundamentals/authorization/index.md, the correct relative path should go up one level (e.g.,../dependency-injection.md).
docs/en/framework/fundamentals/authorization/index.md:514 - This link target appears to use a different filename casing than the actual doc (
permission-management.md). On case-sensitive filesystems this will break; please update the link to the correct path/casing underdocs/en/framework/ui/angular/permission-management.md.
| } | ||
| ``` | ||
|
|
||
| The `GetObjectKey()` method returns a string representation of the entity's primary key. For entities with a single key (like `Entity<Guid>` or `Entity<int>`), it returns the `Id` property converted to a string. For entities with composite keys, it returns the keys combined with a comma separator. |
Copilot
AI
Jan 26, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GetObjectKey() for composite keys is not a comma-separated join. In ABP it's encoded via KeyedObjectHelper.EncodeCompositeKey(...) (base64url of keys joined with ||). Please update this description so it matches the actual implementation and avoids misleading consumers.
| The `GetObjectKey()` method returns a string representation of the entity's primary key. For entities with a single key (like `Entity<Guid>` or `Entity<int>`), it returns the `Id` property converted to a string. For entities with composite keys, it returns the keys combined with a comma separator. | |
| The `GetObjectKey()` method returns a string representation of the entity's primary key. For entities with a single key (like `Entity<Guid>` or `Entity<int>`), it returns the `Id` property converted to a string. For entities with composite keys, it returns an encoded composite key using `KeyedObjectHelper.EncodeCompositeKey(...)` (a base64url-encoded representation of the key values joined with `||`), rather than a simple comma-separated list. |
| await _resourcePermissionManager.DeleteAsync( | ||
| resourceName: "MyApp.Document", | ||
| resourceKey: id.ToString(), | ||
| providerName: "U", | ||
| providerKey: null // Deletes for all users | ||
| ); | ||
|
|
||
| await _resourcePermissionManager.DeleteAsync( | ||
| resourceName: "MyApp.Document", | ||
| resourceKey: id.ToString(), | ||
| providerName: "R", | ||
| providerKey: null // Deletes for all roles | ||
| ); |
Copilot
AI
Jan 26, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These examples call IResourcePermissionManager.DeleteAsync(..., providerKey: null) to delete permissions for all users/roles, but the API requires a non-null providerKey (there is no overload for 'all provider keys' for a resource). Consider showing cleanup via IResourcePermissionGrantRepository.DeleteAsync(x => x.ResourceName == ... && x.ResourceKey == ...) (or another supported approach) instead of passing null.
| await _resourcePermissionManager.DeleteAsync( | |
| resourceName: "MyApp.Document", | |
| resourceKey: id.ToString(), | |
| providerName: "U", | |
| providerKey: null // Deletes for all users | |
| ); | |
| await _resourcePermissionManager.DeleteAsync( | |
| resourceName: "MyApp.Document", | |
| resourceKey: id.ToString(), | |
| providerName: "R", | |
| providerKey: null // Deletes for all roles | |
| ); | |
| await _resourcePermissionGrantRepository.DeleteAsync( | |
| x => x.ResourceName == "MyApp.Document" && | |
| x.ResourceKey == id.ToString() | |
| ); |
| "path": "framework/fundamentals/dynamic-claims.md" | ||
| }, | ||
| { | ||
| "text": "Resource Based Authorization", |
Copilot
AI
Jan 26, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nav item text is inconsistent with the page title (“Resource-Based Authorization”). Consider renaming this entry to “Resource-Based Authorization” for consistency and easier search.
| "text": "Resource Based Authorization", | |
| "text": "Resource-Based Authorization", |
This PR generated automatically to merge dev with rel-10.1. Please review the changed files before merging to prevent any errors that may occur.