Activities of "dhill"

  • ABP Framework version: v8.3.0
  • UI Type: Blazor WASM
  • Database System: EF Core SQL Server

We have a use case where we need to hide some permissions for normal users and only expose them to super users such as the built in admin account or perhaps if the email address matches a certain pattern.

XyzWebPermissionDefinitionProvider seems to only run once at startup.

How can we override this core functionality to hide permissions at runtime?

Hi, Thanks for your assistance so far. However, it seems there was a bit of a misunderstanding regarding our initial request. Based on the conversation, it looks like the focus has shifted towards the footer, while our original requirement was specifically about customizing the bottom navigation bar for the mobile view, as shown in the highlighted section of the attached screenshot. Our main objective was to modify the navigation menu items at the bottom of the screen, which allows users to quickly access sections like Employees, Settings, and Admin. We’re looking to adjust these items to enhance the navigation experience on mobile devices. Could we revisit this with the focus on the bottom navigation bar rather than the footer section? This would help us achieve the intended mobile-friendly navigation setup. Thank you for your understanding!

Yes we do thanks

  • UI Type: Blazor Server
  • Database System: EF Core (SQL Server)
  • Exception message and full stack trace:
  • Steps to reproduce the issue

Dear ABP Support Team, I hope this message finds you well. I am currently working on a Blazor WebAssembly application using the ABP framework and have encountered challenges while attempting to customize the bottom navigation bar for the mobile view.

Issue Description In our application, we need to modify the items displayed in the bottom navigation bar specifically for mobile users. The default menu items provided by the ABP framework do not align with our application’s requirements, and we wish to tailor the navigation options to better suit our users’ needs.

Current Approach I have attempted the following steps to customize the bottom navigation bar:

Modifying the Navigation Items: I tried to configure the mobile navigation menu using the following code snippet:

Configure<LeptonXThemeBlazorOptions>(options => { options.MobileMenuSelector = items => items.Where(x => x.MenuItem.Name == SafetyPlusWebMenus.Home || x.MenuItem.Name == SafetyPlusWebMenus.Employees); });

However, the changes did not reflect as expected in the mobile view.

Request for Guidance Given the challenges I have faced, I would greatly appreciate your assistance in providing detailed guidance on how to accomplish the following: Steps to Access and Customize the Bottom Navigation Bar: Clear, step-by-step instructions on how to locate the relevant components and modify the bottom navigation bar for mobile view. Best Practices for Customization: Recommendations on best practices for ensuring that the navigation items are properly displayed and functional within the mobile context. Dynamic Menu Items: If possible, please advise on how to implement dynamic menu items based on user roles or other criteria, as this is a requirement for our application. Troubleshooting Tips: Any additional troubleshooting tips or common pitfalls to avoid while attempting these customizations. I appreciate your time and support in helping us customize the bottom navigation bar to meet our specific requirements. Please let me know if you need any further details or clarification on our setup.

There were some missing packages that didn't get updated to 8.3.0 Once they all got updated it's working.

One note: using the ABP suite to update packages seems to be impartial. The same applies to Nuget updates. The fix found by accident was running abp update-libs

  • ABP Framework version: v8.2.2
  • UI Type: Blazor Server
  • Database System: EF Core

We need to implement IDataFilter to apply a filter against EmployeeId where a claim of EmployeeId has a value matching records on the table.

Trying to apply the documentation in the wiki has been difficult as some of the steps seem to be summarized.

Can you provide guidance on how to implement this feature?

That worked. Thanks

@ invoke-js.ts:176 blazor.web.js:1 crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100] Unhandled exception rendering component: Value cannot be null. (Parameter 'input') System.ArgumentNullException: Value cannot be null. (Parameter 'input') at System.Text.RegularExpressions.ThrowHelper.ThrowArgumentNullException(ExceptionArgument arg) at System.Text.RegularExpressions.Regex.IsMatch(String input) at System.Text.RegularExpressions.Regex.IsMatch(String input, String pattern) at Volo.Abp.Identity.Pro.Blazor.Pages.Identity.UserManagement.AddClaimAsync() at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task) at Blazorise.Button.ClickHandler(MouseEventArgs eventArgs) at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task) at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)

2024-08-06 09:41:46.301 -05:00 [INF] Executing endpoint 'Volo.Abp.Identity.IdentityUserController.GetExternalLoginProvidersAsync (Volo.Abp.Identity.Pro.HttpApi)'
2024-08-06 09:41:46.322 -05:00 [INF] Route matched with {area = "identity", controller = "User", action = "GetExternalLoginProviders", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[System.Collections.Generic.List`1[Volo.Abp.Identity.ExternalLoginProviderDto]] GetExternalLoginProvidersAsync() on controller Volo.Abp.Identity.IdentityUserController (Volo.Abp.Identity.Pro.HttpApi).
2024-08-06 09:41:46.327 -05:00 [INF] Route matched with {area = "identity", controller = "User", action = "GetList", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[Volo.Abp.Application.Dtos.PagedResultDto`1[Volo.Abp.Identity.IdentityUserDto]] GetListAsync(Volo.Abp.Identity.GetIdentityUsersInput) on controller Volo.Abp.Identity.IdentityUserController (Volo.Abp.Identity.Pro.HttpApi).
2024-08-06 09:41:46.386 -05:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:d3a58a5b-0605-02eb-49f4-3a13b6093bbf,n:AbpIdentity.Users.Import
2024-08-06 09:41:46.386 -05:00 [DBG] Found in the cache: pn:U,pk:d3a58a5b-0605-02eb-49f4-3a13b6093bbf,n:AbpIdentity.Users.Import
2024-08-06 09:41:46.392 -05:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AbpIdentity.Users.Import
2024-08-06 09:41:46.392 -05:00 [DBG] Found in the cache: pn:R,pk:admin,n:AbpIdentity.Users.Import
2024-08-06 09:41:46.392 -05:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:d3a58a5b-0605-02eb-49f4-3a13b6093bbf,n:AbpIdentity.Users
2024-08-06 09:41:46.392 -05:00 [DBG] Found in the cache: pn:U,pk:d3a58a5b-0605-02eb-49f4-3a13b6093bbf,n:AbpIdentity.Users
2024-08-06 09:41:46.392 -05:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AbpIdentity.Users
2024-08-06 09:41:46.393 -05:00 [DBG] Found in the cache: pn:R,pk:admin,n:AbpIdentity.Users
2024-08-06 09:41:46.418 -05:00 [WRN] Ldap login feature is not enabled!
2024-08-06 09:41:46.429 -05:00 [WRN] OAuth login feature is not enabled!
2024-08-06 09:41:46.429 -05:00 [INF] Executing ObjectResult, writing value of type 'System.Collections.Generic.List`1[[Volo.Abp.Identity.ExternalLoginProviderDto, Volo.Abp.Identity.Pro.Application.Contracts, Version=8.2.0.0, Culture=neutral, PublicKeyToken=null]]'.
2024-08-06 09:41:46.445 -05:00 [INF] Executed action Volo.Abp.Identity.IdentityUserController.GetExternalLoginProvidersAsync (Volo.Abp.Identity.Pro.HttpApi) in 123.0753ms
2024-08-06 09:41:46.448 -05:00 [INF] Executed endpoint 'Volo.Abp.Identity.IdentityUserController.GetExternalLoginProvidersAsync (Volo.Abp.Identity.Pro.HttpApi)'
2024-08-06 09:41:46.448 -05:00 [INF] Request finished HTTP/2 GET https://localhost:44399/api/identity/users/external-login-Providers?api-version=1.0 - 200 null application/json; charset=utf-8 195.9646ms
2024-08-06 09:41:46.618 -05:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:d3a58a5b-0605-02eb-49f4-3a13b6093bbf,n:AbpIdentity.Users
2024-08-06 09:41:46.618 -05:00 [DBG] Found in the cache: pn:U,pk:d3a58a5b-0605-02eb-49f4-3a13b6093bbf,n:AbpIdentity.Users
2024-08-06 09:41:46.618 -05:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AbpIdentity.Users
2024-08-06 09:41:46.618 -05:00 [DBG] Found in the cache: pn:R,pk:admin,n:AbpIdentity.Users
2024-08-06 09:41:50.752 -05:00 [DBG] Added 0 entity changes to the current audit log
2024-08-06 09:41:50.752 -05:00 [INF] Executing ObjectResult, writing value of type 'Volo.Abp.Application.Dtos.ListResultDto`1[[Volo.Abp.Identity.IdentityRoleDto, Volo.Abp.Identity.Pro.Application.Contracts, Version=8.2.0.0, Culture=neutral, PublicKeyToken=null]]'.
2024-08-06 09:41:50.758 -05:00 [INF] Executed action Volo.Abp.Identity.IdentityUserController.GetAssignableRolesAsync (Volo.Abp.Identity.Pro.HttpApi) in 4612.9616ms
2024-08-06 09:41:50.758 -05:00 [INF] Executed endpoint 'Volo.Abp.Identity.IdentityUserController.GetAssignableRolesAsync (Volo.Abp.Identity.Pro.HttpApi)'
2024-08-06 09:41:50.758 -05:00 [INF] Request finished HTTP/2 GET https://localhost:44399/api/identity/users/assignable-roles?api-version=1.0 - 200 null application/json; charset=utf-8 4635.0978ms
2024-08-06 09:41:51.056 -05:00 [DBG] Added 0 entity changes to the current audit log
2024-08-06 09:41:51.057 -05:00 [INF] Executing ObjectResult, writing value of type 'Volo.Abp.Application.Dtos.PagedResultDto`1[[Volo.Abp.Identity.IdentityUserDto, Volo.Abp.Identity.Pro.Application.Contracts, Version=8.2.0.0, Culture=neutral, PublicKeyToken=null]]'.
2024-08-06 09:41:51.082 -05:00 [INF] Executed action Volo.Abp.Identity.IdentityUserController.GetListAsync (Volo.Abp.Identity.Pro.HttpApi) in 4755.2186ms
2024-08-06 09:41:51.082 -05:00 [INF] Executed endpoint 'Volo.Abp.Identity.IdentityUserController.GetListAsync (Volo.Abp.Identity.Pro.HttpApi)'
2024-08-06 09:41:51.083 -05:00 [INF] Request finished HTTP/2 GET https://localhost:44399/api/identity/users?Sorting=&SkipCount=0&MaxResultCount=10&ExtraProperties=Volo.Abp.Data.ExtraPropertyDictionary&api-version=1.0 - 200 null application/json; charset=utf-8 4830.7716ms
2024-08-06 09:41:55.573 -05:00 [INF] Request starting HTTP/2 GET https://localhost:44399/api/identity/users/all-claim-types?api-version=1.0 - null null
2024-08-06 09:41:55.574 -05:00 [DBG] The event OpenIddict.Validation.OpenIddictValidationEvents+ProcessRequestContext was successfully processed by OpenIddict.Validation.AspNetCore.OpenIddictValidationAspNetCoreHandlers+ResolveRequestUri.
2024-08-06 09:41:55.574 -05:00 [DBG] The event OpenIddict.Server.OpenIddictServerEvents+ProcessRequestContext was successfully processed by OpenIddict.Server.AspNetCore.OpenIddictServerAspNetCoreHandlers+ResolveRequestUri.
2024-08-06 09:41:55.574 -05:00 [DBG] The event OpenIddict.Server.OpenIddictServerEvents+ProcessRequestContext was successfully processed by OpenIddict.Server.OpenIddictServerHandlers+InferEndpointType.
2024-08-06 09:41:55.574 -05:00 [DBG] The event OpenIddict.Server.OpenIddictServerEvents+ProcessRequestContext was successfully processed by Volo.Abp.Account.Web.Pages.Account.OpenIddictImpersonateInferEndpointType.
2024-08-06 09:41:55.575 -05:00 [DBG] The event OpenIddict.Server.OpenIddictServerEvents+ProcessRequestContext was successfully processed by OpenIddict.Server.AspNetCore.OpenIddictServerAspNetCoreHandlers+ValidateTransportSecurityRequirement.
2024-08-06 09:41:55.575 -05:00 [DBG] The event OpenIddict.Server.OpenIddictServerEvents+ProcessRequestContext was successfully processed by OpenIddict.Server.AspNetCore.OpenIddictServerAspNetCoreHandlers+ValidateHostHeader.
2024-08-06 09:41:55.607 -05:00 [DBG] Get dynamic claims cache for user: d3a58a5b-0605-02eb-49f4-3a13b6093bbf
2024-08-06 09:41:55.610 -05:00 [INF] Executing endpoint 'Volo.Abp.Identity.IdentityUserController.GetAllClaimTypesAsync (Volo.Abp.Identity.Pro.HttpApi)'
2024-08-06 09:41:55.615 -05:00 [INF] Route matched with {area = "identity", controller = "User", action = "GetAllClaimTypes", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[System.Collections.Generic.List`1[Volo.Abp.Identity.ClaimTypeDto]] GetAllClaimTypesAsync() on controller Volo.Abp.Identity.IdentityUserController (Volo.Abp.Identity.Pro.HttpApi).
2024-08-06 09:41:55.625 -05:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:d3a58a5b-0605-02eb-49f4-3a13b6093bbf,n:AbpIdentity.Users
2024-08-06 09:41:55.625 -05:00 [DBG] Found in the cache: pn:U,pk:d3a58a5b-0605-02eb-49f4-3a13b6093bbf,n:AbpIdentity.Users
2024-08-06 09:41:55.626 -05:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AbpIdentity.Users
2024-08-06 09:41:55.626 -05:00 [DBG] Found in the cache: pn:R,pk:admin,n:AbpIdentity.Users
2024-08-06 09:41:55.709 -05:00 [DBG] Added 0 entity changes to the current audit log
2024-08-06 09:41:55.709 -05:00 [INF] Executing ObjectResult, writing value of type 'System.Collections.Generic.List`1[[Volo.Abp.Identity.ClaimTypeDto, Volo.Abp.Identity.Pro.Application.Contracts, Version=8.2.0.0, Culture=neutral, PublicKeyToken=null]]'.
2024-08-06 09:41:55.729 -05:00 [INF] Executed action Volo.Abp.Identity.IdentityUserController.GetAllClaimTypesAsync (Volo.Abp.Identity.Pro.HttpApi) in 113.798ms
2024-08-06 09:41:55.729 -05:00 [INF] Executed endpoint 'Volo.Abp.Identity.IdentityUserController.GetAllClaimTypesAsync (Volo.Abp.Identity.Pro.HttpApi)'
2024-08-06 09:41:55.730 -05:00 [INF] Request finished HTTP/2 GET https://localhost:44399/api/identity/users/all-claim-types?api-version=1.0 - 200 null application/json; charset=utf-8 157.4328ms
2024-08-06 09:41:55.764 -05:00 [INF] Request starting HTTP/2 GET https://localhost:44399/api/identity/users/6a27ac13-fb4a-3de3-dd14-3a13f2c9354c/claims?api-version=1.0 - null null
2024-08-06 09:41:55.765 -05:00 [DBG] The event OpenIddict.Validation.OpenIddictValidationEvents+ProcessRequestContext was successfully processed by OpenIddict.Validation.AspNetCore.OpenIddictValidationAspNetCoreHandlers+ResolveRequestUri.
2024-08-06 09:41:55.765 -05:00 [DBG] The event OpenIddict.Server.OpenIddictServerEvents+ProcessRequestContext was successfully processed by OpenIddict.Server.AspNetCore.OpenIddictServerAspNetCoreHandlers+ResolveRequestUri.
2024-08-06 09:41:55.765 -05:00 [DBG] The event OpenIddict.Server.OpenIddictServerEvents+ProcessRequestContext was successfully processed by OpenIddict.Server.OpenIddictServerHandlers+InferEndpointType.
2024-08-06 09:41:55.765 -05:00 [DBG] The event OpenIddict.Server.OpenIddictServerEvents+ProcessRequestContext was successfully processed by Volo.Abp.Account.Web.Pages.Account.OpenIddictImpersonateInferEndpointType.
2024-08-06 09:41:55.765 -05:00 [DBG] The event OpenIddict.Server.OpenIddictServerEvents+ProcessRequestContext was successfully processed by OpenIddict.Server.AspNetCore.OpenIddictServerAspNetCoreHandlers+ValidateTransportSecurityRequirement.
2024-08-06 09:41:55.765 -05:00 [DBG] The event OpenIddict.Server.OpenIddictServerEvents+ProcessRequestContext was successfully processed by OpenIddict.Server.AspNetCore.OpenIddictServerAspNetCoreHandlers+ValidateHostHeader.
2024-08-06 09:41:55.792 -05:00 [DBG] Get dynamic claims cache for user: d3a58a5b-0605-02eb-49f4-3a13b6093bbf
2024-08-06 09:41:55.799 -05:00 [INF] Executing endpoint 'Volo.Abp.Identity.IdentityUserController.GetClaimsAsync (Volo.Abp.Identity.Pro.HttpApi)'
2024-08-06 09:41:55.805 -05:00 [INF] Route matched with {area = "identity", controller = "User", action = "GetClaims", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[System.Collections.Generic.List`1[Volo.Abp.Identity.IdentityUserClaimDto]] GetClaimsAsync(System.Guid) on controller Volo.Abp.Identity.IdentityUserController (Volo.Abp.Identity.Pro.HttpApi).
2024-08-06 09:41:55.816 -05:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:d3a58a5b-0605-02eb-49f4-3a13b6093bbf,n:AbpIdentity.Users
2024-08-06 09:41:55.816 -05:00 [DBG] Found in the cache: pn:U,pk:d3a58a5b-0605-02eb-49f4-3a13b6093bbf,n:AbpIdentity.Users
2024-08-06 09:41:55.816 -05:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:AbpIdentity.Users
2024-08-06 09:41:55.816 -05:00 [DBG] Found in the cache: pn:R,pk:admin,n:AbpIdentity.Users
2024-08-06 09:41:55.876 -05:00 [DBG] Added 0 entity changes to the current audit log
2024-08-06 09:41:55.876 -05:00 [INF] Executing ObjectResult, writing value of type 'System.Collections.Generic.List`1[[Volo.Abp.Identity.IdentityUserClaimDto, Volo.Abp.Identity.Pro.Application.Contracts, Version=8.2.0.0, Culture=neutral, PublicKeyToken=null]]'.
2024-08-06 09:41:55.877 -05:00 [INF] Executed action Volo.Abp.Identity.IdentityUserController.GetClaimsAsync (Volo.Abp.Identity.Pro.HttpApi) in 72.4425ms
2024-08-06 09:41:55.877 -05:00 [INF] Executed endpoint 'Volo.Abp.Identity.IdentityUserController.GetClaimsAsync (Volo.Abp.Identity.Pro.HttpApi)'
2024-08-06 09:41:55.878 -05:00 [INF] Request finished HTTP/2 GET https://localhost:44399/api/identity/users/6a27ac13-fb4a-3de3-dd14-3a13f2c9354c/claims?api-version=1.0 - 200 null application/json; charset=utf-8 114.4871ms
  • ABP Framework version: v8.2.1
  • UI Type: Blazor Web App
  • Database System: EF Core
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

The search box is missing from linked accounts.

Showing 1 to 10 of 60 entries
Made with ❤️ on ABP v9.1.0-preview. Updated on December 13, 2024, 06:09