Activities of "liangshiwei"

Hi,

You can try this:

public class AccountController : ChallengeAccountController
{
    public override Task<IActionResult> AccessDenied(string returnUrl = "", string returnUrlHash = "")
    {
        return Task.FromResult<IActionResult>(Challenge(new AuthenticationProperties { RedirectUri = GetRedirectUrl(returnUrl, returnUrlHash) }, ChallengeAuthenticationSchemas));
    }
}

Can you share the full logs? (Authserver, HttpApi.Host, Web) shiwei.liang@volosoft.com

Hi,

Because Blazor web assembly needs to load all DLLs at the first time. We can do nothing, You can see many discussions about Blazor wasm: https://www.reddit.com/r/Blazor/comments/y0w90j/blazor_wasm_terrible_performance_score/

maybe the Blazor server is more suit for you.

See: https://support.abp.io/QA/Questions/4645/Blazor-wasm-application-hang-after-login , https://support.abp.io/QA/Questions/4748/Redirect-to-login-page-after-logout and https://support.abp.io/QA/Questions/1152/How-to-to-Login-page-when-accessing-the-app-and-after-logout#answer-5c9c7a51-3689-9ec8-e5b6-39fbc698d514

The situation is still the same.

Answer

Hi,

It looks like a problem, I will check it out.

Answer

Hi,

It's hard to automatically remove permissions since they come from multiple modules, so you need to manually configure the permissions that need to be deleted.

For example:

Configure<AbpPermissionOptions>(options=>
{
   options.DeletedPermissions.Add("Permission name should be removed.") 
});

Hi,

If you configure the module dependency correctly, you can run the command in EntityFrameworkCore of the main application.

I need to use the module as a part of any solution I make and I need the migrations to be a part of it.

It is already there. you can use the module in any solution. there are two ways:

  • Referenced by project source code

This way, you need to copy the modue source code always when you start a new solution.

  • Referenced by nuget package

You can push the module to your private Nuget server, and install them to the solution, just like we do:

Hi,

1

This is a known problem, we have fixed it. you can try:

Remove the following code:

if (context.Toolbar.Name != StandardToolbars.Main)
{
    return Task.CompletedTask;
}

Put the Default.cshtml file in the Acme.BookStore.Web.Public/Themes/LeptonX/Components/SideMenu/MobileNavbar folder:

@using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX.Themes.LeptonX.Components.SideMenu.MainMenu
@using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX.Themes.LeptonX.Components.Common.MobileGeneralSettings
@using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX.Themes.LeptonX.Components.SideMenu.MobileNavbar
@using Volo.Abp.LeptonX.Shared.Localization
@using Microsoft.Extensions.Localization
@using Volo.Abp.Users

@model MobileNavbarViewModel
@inject ICurrentUser CurrentUser
@inject IStringLocalizer<LeptonXResource> L

<div class="lpx-mobile-navbar-container">
	<div class="lpx-mobile-navbar">
		<ul class="lpx-mobile-nav-tabs">

			@foreach (var viewModel in Model.SelectedMenuItems)
			{
				var url = string.IsNullOrEmpty(viewModel.MenuItem.Url) ? "#" : Url.IsLocalUrl(viewModel.MenuItem.Url) ? Url.Content(viewModel.MenuItem.Url.EnsureStartsWith('~')) : viewModel.MenuItem.Url;

				<li class="lpx-mobile-nav-tab">
					<a id="@viewModel.MenuItem.ElementId" href="@url" target="@viewModel.MenuItem.Target" class="lpx-mobile-nav-item @viewModel.MenuItem.CssClass">
						<i class="menu-item-icon @viewModel.MenuItem.Icon" aria-hidden="true"></i>
						<span class="mobile-item-text"> @viewModel.MenuItem.DisplayName </span>
					</a>
				</li>
			}

			<li class="lpx-mobile-nav-tab menu-toggle">
				<a href="javascript:void(0)" class="lpx-mobile-hamburger" data-lpx-mobile-menu-toggle="routes">
					<span class="hamburger-icon" aria-hidden="true">
						<span class="icon-part"></span>
						<span class="icon-part"></span>
						<span class="icon-part"></span>
						<span class="icon-part"></span>
						<span class="icon-part"></span>
						<span class="icon-part"></span>
					</span>
				</a>
			</li>

			<li class="lpx-mobile-nav-tab">
				<a class="lpx-mobile-nav-item" data-lpx-mobile-menu-toggle="settings">
					<i class="menu-item-icon bi bi-gear-wide-connected" aria-hidden="true"></i>
					<span class="mobile-item-text">Settings</span>
				</a>
			</li>
			<li class="lpx-mobile-nav-tab">
				@if (CurrentUser.IsAuthenticated)
				{
				  <a class="lpx-mobile-nav-item" data-lpx-mobile-menu-toggle="user">
				    <div class="lpx-avatar">
				      <img class="lpx-avatar-img" src="@Model.ProfileImageUrl" alt="@CurrentUser.UserName avatar" />
				    </div>

				    <span class="mobile-item-text">@CurrentUser.UserName</span>
				  </a>
				}
				else
				{
				  <a href="~/account/login" class="lpx-mobile-nav-item">
				    <i class="menu-item-icon bi bi-person-fill" aria-hidden="true"></i>
				    <span class="mobile-item-text">@L["Login"]</span>
				  </a>
				}
			</li>
		</ul>
	</div>

	<div class="lpx-mobile-menu hidden">
		<div class="lpx-logo-container">
			<a href="/">
				<div class="lpx-brand-logo"></div>
			</a>
		</div>
		<ul class="lpx-nav-menu d-none" data-lpx-mobile-menu="routes">
			@await Component.InvokeAsync(typeof(MainMenuViewComponent))
		</ul>

		<ul class="lpx-nav-menu d-none" data-lpx-mobile-menu="settings">
			@await Component.InvokeAsync(typeof(MobileGeneralSettingsViewComponent))
		</ul>

		<ul class="lpx-nav-menu d-none" data-lpx-mobile-menu="user">
			<div class="d-flex ps-3 pe-3">
				<div class="lpx-avatar me-2">
					<img class="lpx-avatar-img" src="@Model.ProfileImageUrl" alt="@CurrentUser.UserName avatar" />
				</div>

				<div class="d-flex flex-column" style="line-height: normal">
					<span class="fs-12">@L["Welcome"] <span class="color-active-text"> @CurrentUser.UserName </span> </span>
					<span class="color-active-text">@CurrentUser.Name @CurrentUser.SurName</span>
					<span class="fs-12">@CurrentUser.Email</span>
				</div>
			</div>

			@if (Model.UserMenu != null)
			{
				foreach (var menuItem in Model.UserMenu.Items)
				{
					var url = string.IsNullOrEmpty(menuItem.Url) ? "#" : Url.IsLocalUrl(menuItem.Url) ? Url.Content(menuItem.Url.EnsureStartsWith('~')) : menuItem.Url;

					<li class="outer-menu-item">
						<a class="lpx-menu-item-link lpx-menu-item @menuItem.CssClass" href="@url" target="@menuItem.Target" id="@menuItem.ElementId">
							<span class="lpx-menu-item-icon"><i class="lpx-icon bi @menuItem.Icon" aria-hidden="true"></i></span>

							<span class="lpx-menu-item-text hidden-in-hover-trigger">@menuItem.DisplayName</span>
						</a>
					</li>
				}
			}
		</ul>
	</div>
</div>

2

You need to install those admin packages to your solution

Hi,

First of all thanks for the answer, but when I use "object extensions system" to add a new property to the AbpUsers table, it adds this property as json data in the 'ExtraProperties' field, not as a new column. Is it possible to add it as a new column?

Of course, you can check this: https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Extending-Entities#entity-extensions-ef-core

Another question, we want to add LicienceId as a claim (CurrentUser) but the project does not see the requested AbpClaimsServiceOptions class. We can't see LicienceId among the claims.

It's working for me.

Hi,

It's just a document update : )
It won't affect your code.

Showing 4221 to 4230 of 6693 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on November 04, 2025, 06:41