Activities of "liangshiwei"

Hi,

You can add your custom CSS via this way:

Configure<AbpBundlingOptions>(options =>
{
    // Blazor UI
    options.StyleBundles.Configure(
        BlazorLeptonXThemeBundles.Styles.Global,
        bundle =>
        {
            bundle.AddFiles("/mycustom.css");
            //You can remove the following line if you don't use Blazor CSS isolation for components
            bundle.AddFiles("/MyCompanyName.MyProjectName.Blazor.Server.styles.css");
        }
    );
});

Hi,

You can custom the Theme: https://docs.abp.io/en/commercial/latest/themes/lepton-x/angular#customization

ok

Answer

AzureAD config:

context.Services.AddAuthentication()
.AddOpenIdConnect("AzureOpenId", "Azure AD OpenId", options =>
{
    options.Authority = "https://login.microsoftonline.com/" + configuration["AzureAd:TenantId"] + "/v2.0/";
    options.ClientId = configuration["AzureAd:ClientId"];
    options.ResponseType = OpenIdConnectResponseType.CodeIdToken;
    options.CallbackPath = configuration["AzureAd:CallbackPath"];
    options.ClientSecret = configuration["AzureAd:ClientSecret"];
    options.RequireHttpsMetadata = false;
    options.SaveTokens = true;
    options.GetClaimsFromUserInfoEndpoint = true;
    options.Scope.Add("email");
    options.ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "sub");
  
})
Answer

Hi,

Please try:

using IdentityUser = Volo.Abp.Identity.IdentityUser;

[Dependency(ServiceLifetime.Transient, ReplaceServices = true)]
[ExposeServices(typeof(SignInManager<IdentityUser>))]
public class MySignInManager : SignInManager<IdentityUser>
{
    public MySignInManager(Microsoft.AspNetCore.Identity.UserManager<IdentityUser> userManager,
        IHttpContextAccessor contextAccessor,
        Microsoft.AspNetCore.Identity.IUserClaimsPrincipalFactory<IdentityUser> claimsFactory,
        IOptions<IdentityOptions> optionsAccessor, ILogger<SignInManager<IdentityUser>> logger,
        IAuthenticationSchemeProvider schemes, IUserConfirmation<IdentityUser> confirmation) : base(userManager,
        contextAccessor, claimsFactory, optionsAccessor, logger, schemes, confirmation)
    {
    }

    public override async Task SignInAsync(IdentityUser user, AuthenticationProperties authenticationProperties,
        string authenticationMethod = null)
    {
        if (authenticationMethod == "AzureOpenId") // is github external login
        {
            var githubAuthenticateResult = await Context.AuthenticateAsync(IdentityConstants.ExternalScheme);
            if (githubAuthenticateResult.Succeeded)
            {
                if (githubAuthenticateResult.Properties != null)
                {
                    authenticationProperties.StoreTokens(githubAuthenticateResult.Properties.GetTokens());
                }
            }
        }

        await base.SignInAsync(user, authenticationProperties, authenticationMethod);
    }
}
var accessToken = await HttpContext.GetTokenAsync( OpenIdConnectParameterNames.AccessToken);

You can try:

Repository.UpdateAsync(.., autoSave: true)

Hi,

You can try :

MyGeneralSettings

@using Volo.Abp.DependencyInjection
@using Volo.Abp.AspNetCore.Components.Web.LeptonXTheme.Components.ApplicationLayout.Common
@using System.Globalization
@using Microsoft.Extensions.Localization
@using Volo.Abp.LeptonX.Shared.Localization

@inject IStringLocalizer<LeptonXResource> L


@inherits GeneralSettings
@attribute [ExposeServices(typeof(GeneralSettings))]
@attribute [Dependency(ReplaceServices = true)]


<div class="lpx-settings" id="lpx-settings">

	@if (HasMultipleStyles)
	{
		<div id="appearance" class="setting-icon" data-lpx-setting-icon="appearance"
		data-lpx-setting-id="settings-context-menu">
			<div class="setting">
				<i class="bi bi-laptop-fill"></i>
			</div>
		</div>
	}

	@if (HasContainerWidth)
	{
		<div id="containerWidth" class="setting-icon" data-lpx-setting-icon="containerWidth"
		data-lpx-setting-id="settings-context-menu">
			<div class="setting">
				<i class="bi bi-layout-three-columns"></i>
			</div>
		</div>
	}

	<div id="language" class="setting-icon" data-lpx-setting-icon="language"
		data-lpx-setting-id="settings-context-menu">
		<div class="setting">
			@CurrentLanguageTwoLetters
		</div>
	</div>

	<div class="setting-icon">
		<i class="bi bi-gear-wide-connected" aria-hidden="true" data-lpx-ctx-toggle="settings-context-menu"></i>
	</div>
	<div class="lpx-context-menu" data-lpx-context-menu="settings-context-menu">
		<ul class="lpx-nav-menu" id="settings-routes">
			<li class="outer-menu-item">
				<a class="lpx-menu-item-link lpx-menu-item">
					<span class="lpx-menu-item-icon">
						<i class="lpx-icon outer-icon bi bi-gear-wide-connected" aria-hidden="true"></i>
					</span>
					<span class="lpx-menu-item-text">@L["GeneralSettings"]</span>
					<span data-lpx-close="settings-context-menu">
						<i class="lpx-icon bi bi-x outer-icon dd-icon" aria-hidden="true"></i>
					</span>
				</a>
			</li>

			@if (HasMultipleStyles)
			{
				<li class="outer-menu-item">
					<a class="lpx-menu-item-link lpx-menu-item" data-lpx-setting-group="appearance">
						<span class="lpx-menu-item-icon">
							<i class="lpx-icon bi bi-palette-fill" aria-hidden="true"></i>
						</span>

						<span class="lpx-menu-item-text hidden-in-hover-trigger">@L["Appearance"]</span>

						<i class="dd-icon hidden-in-hover-trigger lpx-caret bi-chevron-down" aria-hidden="true"></i>
					</a>

					<ul class="lpx-inner-menu hidden-in-hover-trigger collapsed" data-id="appearance">
						@foreach (var style in ThemeOptions.Value.Styles)
						{
							<li class="lpx-inner-menu-item">
								<a class="lpx-menu-item-link lpx-menu-item" data-lpx-setting="@style.Key">
									<span class="lpx-menu-item-icon">
										<i class="lpx-icon @style.Value.Icon" aria-hidden="true"></i>
									</span>

									<span class="lpx-menu-item-text hidden-in-hover-trigger">@style.Value.DisplayName.Localize(LocalizerFactory).Value</span>
								</a>
							</li>
						}
					</ul>
				</li>
			}
			@if (HasContainerWidth)
			{
				<li class="outer-menu-item">
					<a class="lpx-menu-item-link lpx-menu-item" data-lpx-setting-group="containerWidth">
						<span class="lpx-menu-item-icon">
							<i class="lpx-icon bi bi-aspect-ratio" aria-hidden="true"></i>
						</span>

						<span class="lpx-menu-item-text hidden-in-hover-trigger">@L["ContainerWidth"]</span>

						<i class="dd-icon hidden-in-hover-trigger lpx-caret bi-chevron-down" aria-hidden="true"></i>
					</a>

					<ul class="lpx-inner-menu hidden-in-hover-trigger collapsed" data-id="containerWidth">
						<li class="lpx-inner-menu-item">
							<a class="lpx-menu-item-link lpx-menu-item" data-lpx-setting="boxed">
								<span class="lpx-menu-item-icon"><i class="lpx-icon bi bi-square"
									aria-hidden="true"></i></span>

								<span class="lpx-menu-item-text hidden-in-hover-trigger">@L["ContainerWidth:Boxed"]</span>
							</a>
						</li>

						<li class="lpx-inner-menu-item">
							<a class="lpx-menu-item-link lpx-menu-item selected" data-lpx-setting="full">
								<span class="lpx-menu-item-icon">
									<i class="lpx-icon bi bi-layout-three-columns" aria-hidden="true"></i>
								</span>

								<span
								class="lpx-menu-item-text hidden-in-hover-trigger">@L["ContainerWidth:FullWidth"]</span>
							</a>
						</li>
					</ul>
				</li>
			}

			<li class="outer-menu-item">
				<a class="lpx-menu-item-link lpx-menu-item" data-lpx-setting-group="language">
					<span class="lpx-menu-item-icon"><i class="lpx-icon bi bi-globe" aria-hidden="true"></i></span>

					<span class="lpx-menu-item-text hidden-in-hover-trigger">@L["Language"]</span>

					<i class="dd-icon hidden-in-hover-trigger lpx-caret bi-chevron-down" aria-hidden="true"></i>
				</a>
			</li>
		</ul>
	</div>
</div>


Hi,

You can try:

Configure<IdentityOptions>(options=>
{
    options.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@'+";
});

Hi,

I can't reproduce the problem.

Could you share the full steps to reproduce? thanks.

Answer

Hi,

I think this is not related to ABP, I'm not a PowerBI expert.

You can check those:

  • https://github.com/microsoft/powerbi-client-angular
  • https://learn.microsoft.com/en-us/javascript/api/overview/powerbi/powerbi-client-angular
Showing 3691 to 3700 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 December 17, 2025, 07:08
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.