Activities of "liangshiwei"

okay, i will check it

We have an article

https://abp.io/community/articles/how-to-setup-azure-active-directory-and-integrate-abp-angular-application-lyk87w5l

We can give the sample project but Azure AD is belong to our customer and it is only allow inside Norway. And also it is enable multifactor authentication.

sure, my email is shiwei.liang@volosoft.com

You can replace the LocalStorageListenerService

import { Injectable, inject } from '@angular/core';

@Injectable({
  providedIn: 'root',
})
export class MyLocalStorageListenerService{

  constructor() {
    // do nothing
  }
}

AppModule

  providers: [
    APP_ROUTE_PROVIDER,
    provideAbpCore(
      withOptions({
        environment,
        registerLocaleFn: registerLocale(),
      }),
    ),
    {
      provide : LocalStorageListenerService,
      useValue : MyLocalStorageListenerService
    },
    .......
  ]

Unfortunately not yet

  1. "Login" button is always disabled, even when I provide both user name and password.
  2. Logo above login form is not displayed at all. There is only application name displayed but it looks like it's not affected by css style.

you can try add _ViewImports.cshtml

@using System.Globalization
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling

I can't reproduce the problem

  • abp new Testapp -u angular
ObjectExtensionManager.Instance.Modules()
  .ConfigureSaas(saas =>
  {
      saas.ConfigureTenant(tenant =>
      {
          tenant.AddOrUpdateProperty<Guid>( //property type: string
              "OpenIddictApplicationId", //property name
              property =>
              {
                  property.UI.Lookup.Url = "/api/openiddict/applications";
                  property.UI.Lookup.DisplayPropertyName = "displayName";
                  property.UI.Lookup.ValuePropertyName = "id";
              }
          );
      });
  });

You can implement IDeletionAuditedObject interface

HI

Please carefully check the answer

You can try override the ApplyAbpConceptsForDeletedEntity method

YourDbContext

protected override void ApplyAbpConceptsForDeletedEntity(EntityEntry entry)
{
    if (!(entry.Entity is ISoftDelete))
    {
        return;
    }

    if (IsHardDeleted(entry))
    {
        return;
    }

    if (entry.CurrentValues.Properties.Any(x => x.Name == nameof(IHasExtraProperties.ExtraProperties)))
    {
        ExtraPropertyDictionary? originalExtraProperties = null;
        if (entry.Entity is IHasExtraProperties)
        {
            originalExtraProperties = entry.OriginalValues.GetValue<ExtraPropertyDictionary>(nameof(IHasExtraProperties.ExtraProperties));
        }

        entry.Reload();

        if (entry.Entity is IHasExtraProperties)
        {
            ObjectHelper.TrySetProperty(entry.Entity.As<IHasExtraProperties>(), x => x.ExtraProperties, () => originalExtraProperties);
        }
    }
    

    ObjectHelper.TrySetProperty(entry.Entity.As<ISoftDelete>(), x => x.IsDeleted, () => true);
    SetDeletionAuditProperties(entry);
}

could you use https://wetransfer.com/

Showing 591 to 600 of 6692 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.0.0-preview. Updated on September 15, 2025, 10:51