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
Learn More, Pay Less
33% OFF
All Trainings!
Get Your Deal
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 25, 2025, 06:16
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.