Starts in:
1 DAY
21 HRS
6 MIN
58 SEC
Starts in:
1 D
21 H
6 M
58 S
Open Closed

Side menu in app is not showing after upgrade from 8.1.0 to 8.2.0 #7601


User avatar
0
oshabani created

Side menu is not showing after upgrade from 8.1.0 to 8.2.0

  • ABP Framework version: v8.2.0
  • UI Type: MVC
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace: There is no exception showing only the side menu always showing "Home" only
  • Steps to reproduce the issue: upgrade from 8.1.0 to 8.2.0


12 Answer(s)
  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    can you share the full logs? (authserver, httpapi.host, web)

  • User Avatar
    0
    oshabani created
  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    It seems you are using a tiered project, are they using the same Redis server(key prefix)?

    could you share your redis configuration code?

  • User Avatar
    0
    oshabani created

    It was working fine before upgrade so there is no change in Redis configuration. This problem happened right after the upgrade. In this upgrade is see sessions feature is added. Maybe the session is not being created for the user.

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    could you share your redis configuration codes?

  • User Avatar
    0
    oshabani created
    **Auth Server:**
    var dataProtectionBuilder = context.Services.AddDataProtection().SetApplicationName("Iam");
    if (!hostingEnvironment.IsDevelopment())
    {
        var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
        dataProtectionBuilder.PersistKeysToStackExchangeRedis(redis, "Iam-Protection-Keys");
    }
    
    context.Services.AddSingleton<IDistributedLockProvider>(sp =>
    {
        var connection = ConnectionMultiplexer
            .Connect(configuration["Redis:Configuration"]);
        return new RedisDistributedSynchronizationProvider(connection.GetDatabase());
    });
    
    **HttpApiHost:**
    
    private void ConfigureDataProtection(
        ServiceConfigurationContext context,
        IConfiguration configuration,
        IWebHostEnvironment hostingEnvironment)
    {
        var dataProtectionBuilder = context.Services.AddDataProtection().SetApplicationName("Iam");
        if (!hostingEnvironment.IsDevelopment())
        {
            var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
            dataProtectionBuilder.PersistKeysToStackExchangeRedis(redis, "Iam-Protection-Keys");
        }
    }
    
    private void ConfigureDistributedLocking(
            ServiceConfigurationContext context,
            IConfiguration configuration)
    {
        context.Services.AddSingleton<IDistributedLockProvider>(sp =>
        {
            var connection = ConnectionMultiplexer
                .Connect(configuration["Redis:Configuration"]);
            return new RedisDistributedSynchronizationProvider(connection.GetDatabase());
        });
    }
    
    
    **Web:**
    
     private void ConfigureDataProtection(
         ServiceConfigurationContext context,
         IConfiguration configuration,
         IWebHostEnvironment hostingEnvironment)
     {
         var dataProtectionBuilder = context.Services.AddDataProtection().SetApplicationName("Iam");
         if (!hostingEnvironment.IsDevelopment())
         {
             var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
             dataProtectionBuilder.PersistKeysToStackExchangeRedis(redis, "Iam-Protection-Keys");
         }
     }
    
     private void ConfigureDistributedLocking(
                 ServiceConfigurationContext context,
                 IConfiguration configuration)
     {
         context.Services.AddSingleton<IDistributedLockProvider>(sp =>
         {
             var connection = ConnectionMultiplexer
                 .Connect(configuration["Redis:Configuration"]);
             return new RedisDistributedSynchronizationProvider(connection.GetDatabase());
         });
     }
    
  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    It looks like no problem.

    is there any cache KeyPrefix config? and make sure they are the same.

    Configure<AbpDistributedCacheOptions>(options =>
    {
        options.KeyPrefix = "ProjectName:";
    });
    
  • User Avatar
    0
    oshabani created

    I have confirmed that the KeyPrefix as "Iam:" is same in AuthServer, HttpApiHost and Web projects.

    I have noticed one error in Iam Log: 2024-08-01 08:43:11.893 +03:00 [ERR] The access_token is not active.

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    very strange.

    could you share a simple project with me? i will check it now.

    shiwei.liang@volosoft.com

  • User Avatar
    0
    oshabani created
  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    try add these to HttpApi.Host project.

    Related: https://github.com/abpframework/abp/issues/19965#issuecomment-2177155101

    <PackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="7.5.1" />
    <PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" Version="7.5.1" /> 
    <PackageReference Include="Microsoft.IdentityModel.Tokens" Version="7.5.1" />
    
  • User Avatar
    0
    oshabani created

    Resolved...Thanks

Made with ❤️ on ABP v9.1.0-preview. Updated on November 20, 2024, 13:06