Activities of "maliming"

bwt we have a document about the deployment to docker https://docs.abp.io/en/commercial/latest/startup-templates/application/deployment-docker-compose?UI=MVC&DB=EF&Tiered=Yes

AbpIdentityWebModule // Remain
AbpAccountPublicWebIdentityServerModule //Replace with AbpAccountPublicWebOpenIddictModule
AbpIdentityServerWebModule  //Replace with AbpOpenIddictProWebModule
IdentityMenuNames// Remain
AbpIdentityServerMenuNames// Replace with OpenIddictProMenus

I recommend you to create a new project and check its code.

hi

You should remove all Identity Server-related code.

You can create a new template project to compare the code.

hi

Thanks. I will ask our colleagues.

hi

A DataSeedContributor to add two roles and add all permissions to these roles.

You can give it a try.

https://docs.abp.io/en/abp/latest/Data-Seeding

using System;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Options;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Data;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids;
using Volo.Abp.Identity;
using Volo.Abp.MultiTenancy;
using Volo.Abp.PermissionManagement;
using Volo.Abp.Uow;

public class MyDataSeedContributor : IDataSeedContributor, ITransientDependency
{
    protected IGuidGenerator GuidGenerator { get; }
    protected IIdentityRoleRepository RoleRepository { get; }
    protected IIdentityUserRepository UserRepository { get; }
    protected ILookupNormalizer LookupNormalizer { get; }
    protected IdentityUserManager UserManager { get; }
    protected IdentityRoleManager RoleManager { get; }
    protected ICurrentTenant CurrentTenant { get; }
    protected IOptions<IdentityOptions> IdentityOptions { get; }
    protected IPermissionDefinitionManager PermissionDefinitionManager { get; }
    protected IPermissionDataSeeder PermissionDataSeeder { get; }

    public MyDataSeedContributor(
        IGuidGenerator guidGenerator,
        IIdentityRoleRepository roleRepository,
        IIdentityUserRepository userRepository,
        ILookupNormalizer lookupNormalizer,
        IdentityUserManager userManager,
        IdentityRoleManager roleManager,
        ICurrentTenant currentTenant,
        IOptions<IdentityOptions> identityOptions,
        IPermissionDefinitionManager permissionDefinitionManager,
        IPermissionDataSeeder permissionDataSeeder)
    {
        GuidGenerator = guidGenerator;
        RoleRepository = roleRepository;
        UserRepository = userRepository;
        LookupNormalizer = lookupNormalizer;
        UserManager = userManager;
        RoleManager = roleManager;
        CurrentTenant = currentTenant;
        IdentityOptions = identityOptions;
        PermissionDefinitionManager = permissionDefinitionManager;
        PermissionDataSeeder = permissionDataSeeder;
    }

    [UnitOfWork]
    public virtual async Task SeedAsync(DataSeedContext context)
    {
        var tenantId = context.TenantId;
        using (CurrentTenant.Change(tenantId))
        {
            await IdentityOptions.SetAsync();

            // "Employer" and "Contractor" roles
            const string employerRoleName = "Employer";
            const string contractorRoleName = "Contractor";

            var employerRoleNameRole = await RoleRepository.FindByNormalizedNameAsync(LookupNormalizer.NormalizeName(employerRoleName));
            if (employerRoleNameRole == null)
            {
                employerRoleNameRole = new IdentityRole(GuidGenerator.Create(), employerRoleName, tenantId)
                {
                    IsPublic = true
                };

                (await RoleManager.CreateAsync(employerRoleNameRole)).CheckErrors();
            }

            var contractorRoleNameRole = await RoleRepository.FindByNormalizedNameAsync(LookupNormalizer.NormalizeName(contractorRoleName));
            if (contractorRoleNameRole == null)
            {
                contractorRoleNameRole = new IdentityRole(GuidGenerator.Create(), contractorRoleName, tenantId)
                {
                    IsPublic = true
                };

                (await RoleManager.CreateAsync(contractorRoleNameRole)).CheckErrors();
            }

            var yourUser = await UserRepository.FindAsync(Guid.NewGuid());//your user id

            (await UserManager.AddToRoleAsync(yourUser, employerRoleName)).CheckErrors();
            (await UserManager.AddToRoleAsync(yourUser, contractorRoleName)).CheckErrors();

            var multiTenancySide = CurrentTenant.GetMultiTenancySide();
            var allPermissionNames = (await PermissionDefinitionManager.GetPermissionsAsync())
                .Where(p => p.MultiTenancySide.HasFlag(multiTenancySide))
                .Select(p => p.Name)
                .ToArray();

            await PermissionDataSeeder.SeedAsync(
                RolePermissionValueProvider.ProviderName,
                employerRoleName,
                allPermissionNames,
                context?.TenantId
            );

            await PermissionDataSeeder.SeedAsync(
                RolePermissionValueProvider.ProviderName,
                contractorRoleName,
                allPermissionNames,
                context?.TenantId
            );
        }
    }
}

hi

Can you try to use http://backoffice-authserver to replace the http://localhost:44395?

Because your container can't reach the http://localhost:44395 in docker.

What are the logs after setting the AuthServer:Authority to http://backoffice-authserver ?

I have tried but still not working

What is your AuthServer:Authority value? What are the logs after setting the AuthServer:Authority ?

There is no account module in your Web project.

Please add <PackageReference Include="Volo.Abp.Account.Pro.Public.Web.OpenIddict" Version="8.1.1" /> to it and try again.

You can create a new template project to compare the csproj file.

hi

Can you also share the screenshot of the project structure? Do you have AuthServer project?

Showing 4941 to 4950 of 11531 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.