You can check&share all http requests during the logout process.
Use Chrome to record and export as a
HARfile. TheHARfile will contain the request and response cookies.liming.ma@volosoft.com
Thanks.
system2 退出系统时,清理的是system2 的cookies和authserver 的cookie 。通过authserver 登录的blazor ,不受影响。 比如,一般情况下,autherver 44322/Account/Login ,登录成功后,直接访问system2 ,会重定向到authserver 登录,当authserver 已登录时,自动登录。登录成功后,autherver 44322/Account/Logout 退出登录,不影响system2 的登录状态。如何确保,authserver 44322/Account/Logout 退出登录时,使其他子系统cookie 都失效呢
hi
Do you have an online website to reproduce?
Thanks.
是否可以在线会议
running error
using System;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Uow;
namespace OneAdmin.BaseManagement
{
public class StudentAppService : ApplicationService, IStudentAppService
{
private readonly IRepository<Student, Guid> _StudentRepository;
private readonly IRepository<Classes, Guid> _ClassesRepository;
private readonly IRepository<ClassStudent> _ClassStudentRepository;
public StudentAppService(
IRepository<Student, Guid> studentRepository,
IRepository<Classes, Guid> classesRepository,
IRepository<ClassStudent> classStudentRepository
)
{
_StudentRepository = studentRepository;
_ClassesRepository = classesRepository;
_ClassStudentRepository = classStudentRepository;
}
public async Task<bool> BatchCreateAsync()
{
await Task.Factory.StartNew(async () =>
{
try
{
using (var uow = UnitOfWorkManager.Begin(requiresNew: true, isTransactional: false))
{
for (int indexClass = 1; indexClass <= 10; indexClass++)
{
var data = await _ClassesRepository.InsertAsync(new Classes(GuidGenerator.Create())
{
Name = indexClass.ToString(),
No = indexClass
}, true);
await CreateStudentAsync(data);
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error={ex.Message}");
}
});
return true;
}
private async Task CreateStudentAsync(Classes classes)
{
var stuQuery = await _StudentRepository.GetQueryableAsync();
var count = stuQuery.LongCount() + 1;
for (int index = 1; index <= count; index++)
{
var student = await _StudentRepository.InsertAsync(new Student(GuidGenerator.Create())
{
Name = index.ToString(),
No = index
}, true);
await Task.Delay(TimeSpan.FromSeconds(1));
if (classes != null && student != null)
{
await CreateClsStuAsync(classes, student);
}
}
}
private async Task CreateClsStuAsync(Classes classes, Student student)
{
await _ClassStudentRepository.InsertAsync(new ClassStudent(classes.Id, student.Id), true);
await Task.Delay(TimeSpan.FromSeconds(1));
}
}
}
single entity insert not error,muti entity running error
alll code register single ,CommonService.BatchCreateAsync(),also running not error
using System;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
namespace OneAdmin.BaseManagement
{
public class CommonService
{
private readonly IStudentRepository _StudentRepository;
private readonly IClassesRepository _ClassesRepository;
private readonly IClassStudentRepository _ClassStudentRepository;
//private readonly IUnitOfWorkManager UnitOfWorkManager;
public CommonService(
IStudentRepository studentRepository,
IClassesRepository classesRepository,
IClassStudentRepository classStudentRepository
//IUnitOfWorkManager unitOfWorkManager
)
{
_StudentRepository = studentRepository;
_ClassesRepository = classesRepository;
_ClassStudentRepository = classStudentRepository;
//UnitOfWorkManager = unitOfWorkManager;
}
public async Task<bool> BatchCreateAsync()
{
try
{
for (int indexClass = 1; indexClass <= 10; indexClass++)
{
var data = await _ClassesRepository.InsertAsync(new Classes(Guid.NewGuid())
{
Name = indexClass.ToString(),
No = indexClass
}, true);
await Task.Delay(TimeSpan.FromSeconds(1));
//var clsQuery = await _ClassesRepository.GetQueryableAsync();
//await Console.Out.WriteLineAsync($"new:{clsQuery.LongCount()}");
var stuQuery = await _StudentRepository.GetQueryableAsync();
var count = stuQuery.LongCount();
for (int index = 1; index <= indexClass; index++)
{
var student = await _StudentRepository.InsertAsync(new Student(Guid.NewGuid())
{
Name = index.ToString(),
No = index
}, true);
await Task.Delay(TimeSpan.FromSeconds(1));
if (data != null && student != null)
{
await _ClassStudentRepository.InsertAsync(new ClassStudent(data.Id, student.Id), true);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error={ex.Message}");
}
return true;
}
private async Task CreateStudentAsync(Classes classes)
{
var stuQuery = await _StudentRepository.GetQueryableAsync();
var count = stuQuery.LongCount() + 1;
for (int index = 1; index <= count; index++)
{
var student = await _StudentRepository.InsertAsync(new Student(Guid.NewGuid())
{
Name = index.ToString(),
No = index
}, true);
await Task.Delay(TimeSpan.FromSeconds(1));
if (classes != null && student != null)
{
await CreateClsStuAsync(classes, student);
}
}
}
private async Task CreateClsStuAsync(Classes classes, Student student)
{
await _ClassStudentRepository.InsertAsync(new ClassStudent(classes.Id, student.Id), true);
await Task.Delay(TimeSpan.FromSeconds(1));
}
}
}
ABP Framework version: v7.2.2
OK,I check all permissions and add all permissions for internationalization
inherit PermissionDefinitionProvider,define permission and localized text .
i debug code,elapsed time for PermissionAppService.GetAsync .
When there was less permission, there was no such problem.
Because it is full load permissions and authorization, whether to consider caching, and loading progress.

thanks. AbpPermissions table has 1200 rows,There could be more AbpPermissionGroups table has 112 rows,There could be more