Your connection string is null
.
Yes, ABP only sets TenantId
for IMustHaveTenant
added entities by design.
If you set it to 0
and update it, then ABP doesn't stop you.
Yes, ABP has built-in tenant data filters for read.
What do you mean by "work for ... delete"?
That's just a warning, not an error?
Are you logged in as tenant? What is the value of AbpSession.TenantId
?
Thank you, but you don't have to.
The people at Volosoft are good people. They are doing really great work with ABP. I have learned a lot from the framework as a user and even now as a contributor.
Even though ASP<span></span>.NET Zero is not open source (they need to make money too!), it is run with a high level of visibility on GitHub with respect to what is being worked on as well as the rationale for many decisions.
There are companies that just provide customers with a download link and claim to provide support via email or take suggestions via user voice. The people at Volosoft make an effort to reply almost every day!
You don't have to defend me or anyone -- that will just put you in conflict with others. I just wish people don't encourage nasty comments when things don't go their way. It really is counter-productive.
Good day/night.
I don't have any formal experience in Angular. I'm not sure if you know, but my day job is not with Volosoft. I just do my best to help people and sometimes it means having to ask when there is insufficient information.
The solution that you have found is as new to me as it is to you.
I only knew AbpHttpInterceptor
existed and spent around 2 hours finding, testing and then sharing the answer.
It is now 1:37 AM where I am.
Thank you for sharing. I learned something and hopefully can help others with the same question faster in future.
https://jsonip.com
does not allow any headers.
This is unrelated to the CORS configuration in ASP<span></span>.NET Zero and your app.
Skip normalizeRequestHeaders
by making these changes in service-proxy.module.ts:
+ import { HttpRequest } from '@angular/common/http';
+
+ class MyHttpInterceptor extends AbpHttpInterceptor {
+ protected normalizeRequestHeaders(request: HttpRequest<any>): HttpRequest<any> {
+ return request.url === 'https://jsonip.com/' ? request : super.normalizeRequestHeaders(request);
+ };
+ };
...
- { provide: HTTP_INTERCEPTORS, useClass: AbpHttpInterceptor, multi: true }
+ { provide: HTTP_INTERCEPTORS, useClass: MyHttpInterceptor, multi: true }
Show the error message and stack trace.
I apologise if I pissed you off.
I provide concise answers, or ask short and direct questions when there is insufficient information.
Do you prefer that I stop answering your questions?
Do I need to set TenantId when updating or inserting or IMustHaveTenant does it automatically?
ABP sets TenantId
for IMustHaveTenant
but not for IMayHaveTenant
.
Also If I set it manually does IMustHaveTenant checks if that TenantId is the correct one when updating a record?
No, ABP does not check since it may be intended.
The documentation describes the behaviour. If you want to know every detail about how it is implemented, then you can read the source code. Both ABP and EF Core are open source.