Hi,
ABP only integrates rabbitmq for the distributed event bus.You need to implement tis feature yourself.
You can use Rabbitmq to implement RPC: https://www.rabbitmq.com/tutorials/tutorial-six-dotnet.html. or you can directly use grpc :https://grpc.io/docs/languages/csharp/quickstart/
Hi,
Tenants should be able to see the settings page, you can check current user is granted settings management permissions. Like this :
A setting value read from the following provider:
Setting fallback system works from bottom (user) to top (default).
You can set the value using the method of ISettingManager
:
//For tenant's setting
await _settingManager.SetForCurrentUserAsync("App.UI.LayoutType", "LeftMenu");
await _settingManager.SetForUserAsync(user1Id, "App.UI.LayoutType", "LeftMenu");
//For user's setting
await _settingManager.SetForCurrentTenantAsync("App.UI.LayoutType", "LeftMenu");
await _settingManager.SetForTenantAsync(tenant1Id, "App.UI.LayoutType", "LeftMenu");
Have a nice day : ).
GetAllAsync
method internally uses a loop to get all values. It will only make writing simple, but performance will not be improved and there may be 100 settings, and only 40 of them are needed.
I provide another solution here: https://support.abp.io/QA/Questions/263/Efficient-user-of-Settings-and-Features
I have time now.Please email me to tell me the how to remote, Thanks.
Yes, you can set IsEnabled
to false
, A disabled permission will be prohibited for everyone. it will always return prohibited.
Currently no good way to remove it from the API, but this can still be done:
This way, API endpoints will not be created
[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(IAbpServiceConvention))]
public class MyServiceConvention : AbpServiceConvention, ITransientDependency
{
public MyServiceConvention(IOptions<AbpAspNetCoreMvcOptions> options) : base(options)
{
}
protected override void ApplyForControllers(ApplicationModel application)
{
application.Controllers.RemoveAll(x => x.ControllerType == typeof(OrganizationUnitController));
base.ApplyForControllers(application);
}
}
Hi,
I can't reproduce your problem. Can you provide complete steps? Including environment, project information, etc..., Or I can remotely access your computer. Thanks.