Skip to content

Conversation

@github-actions
Copy link
Contributor

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.

EngincanV and others added 6 commits January 19, 2026 10:42
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
@maliming maliming marked this pull request as ready for review January 26, 2026 13:40
Copilot AI review requested due to automatic review settings January 26, 2026 13:40
@maliming maliming merged commit bedca64 into dev Jan 26, 2026
2 checks passed
@maliming maliming deleted the auto-merge/rel-10-1/4324 branch January 26, 2026 13:40
Copy link
Contributor

Copilot AI left a 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.md to .../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 under docs/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.
Copy link

Copilot AI Jan 26, 2026

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.

Suggested change
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.

Copilot uses AI. Check for mistakes.
Comment on lines +244 to +256
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
);
Copy link

Copilot AI Jan 26, 2026

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.

Suggested change
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()
);

Copilot uses AI. Check for mistakes.
"path": "framework/fundamentals/dynamic-claims.md"
},
{
"text": "Resource Based Authorization",
Copy link

Copilot AI Jan 26, 2026

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.

Suggested change
"text": "Resource Based Authorization",
"text": "Resource-Based Authorization",

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants