I haven't found any documentation on what the TenantCache is and how it might be used by me in my application.
Can you give me a general description about what it is, how its populated and its intended use (or non-use) by an AspNetZero customer?
If I wanted to make sure that a TenantId and TenancyName value is always included in my Log4Net log entries and I'd like for it to be automatic (nothing required for the developer to do when writing a log entry), what would be the best way to do this? I am looking for some kind of solution that I can implement that is global to my application.
I tried searching the documentation and forums, but couldn't find any guidance.
From looking at the code, it seems like ITenantCache might be part of the solution, but I was unable to find any documentation on it.
Also, I realize that many log entries might not be tenant-specific, and for those, null values in TenantId and TenancyName are fine in the logs.
Jeff
Is there any easy way in the Datatables grid to format a column's display to handle sensitive data type fields? Ideally, would display the column value in stars (*) and then have a eyeball type of control to click on to show the actual value.
It would be nice to have a standard SCIM (System for Cross-domain Identity Management) endpoint included in AspNetZero since it is the SaaS-industry standard for identity synchronization between SaaS providers.
Microsoft offers this page as an example of how to custom build an endpoint:
Seems like this would be best as a standard component of AspNetZero, though.
Is this anywhere on the roadmap?
Your documentation provices this guideance for publsihing to Azure App Service:
Our AspNetZero app is a multi-tenant app that uses a custom domain name.
This is what we use and it works when publishing to our internal IIS staging server using ASPNETCORE_ENVIRONMENT = Staging:
<span class="colour" style="color: rgb(46, 117, 182);">"App"<span class="colour" style="color: rgb(0, 0, 0);">: {</span></span> <span class="colour" style="color: rgb(163, 21, 21);"><span class="colour" style="color: rgb(0, 0, 0);"> </span><span class="colour" style="color: rgb(46, 117, 182);">"WebSiteRootAddress"</span><span class="colour" style="color: rgb(0, 0, 0);">:</span> "https://{TENANCY_NAME}.internaldomainname.com"</span> }
This is what we are trying to use when publishing to an Azure App Service that has ASPNETCORE_ENVIRONMENT = Production:
<span class="colour" style="color: rgb(46, 117, 182);">"App"<span class="colour" style="color: rgb(0, 0, 0);">: {</span></span> <span class="colour" style="color: rgb(163, 21, 21);"><span class="colour" style="color: rgb(0, 0, 0);"> </span><span class="colour" style="color: rgb(46, 117, 182);">"WebSiteRootAddress"</span><span class="colour" style="color: rgb(0, 0, 0);">:</span> "https://{TENANCY_NAME}.premierpointonline.com"</span> }
The application never works on Azure - we just get 500 Internal Server Error with no other details:
What do we need in the appsettings.production.com to get this to work in Azure App Service?
The application we are developing is a multi-tenant application using the Single Deployment - Single Database model for multi-tenancy.
One of the features of the application for a tenant is the ability to create and schedule background jobs that handle data processing functions they need to do. So, we have to provide an interface that will give them CRUD capabilities for all of their background jobs.
What would be the recommended approach to using Hangfire in this type of multi-tenant application? All of the Abp dbs are "tenant-aware", but the Hangfire dbs are not, as best as I can tell.
Can you give me some guidance on the approach you would take to developing this capability in an Abp-based application?
I'm working through the Phonebook example and can't get subdomain tenant resolution during SignIn to work in either a staging or production environment.
I've tried defining the MultiTenancy.DomainFormat Property in the module class:
That matches with the configuration of the WebSiteRootAddress in appsettings.Staging.json and appsettings.Production.json:
Multi-tenancy works in general with this setup, but only by using the "Tenant Switcher", which is not what I want in production.
I just want the application to match the subdomain in the Url to the value of TenantId in the Tenant table in the database, and execute the login credentials against the users that belong to that tenant.
Secondarily, I prefer that the Tenanet Switcher control not even show up on the Sign In page in production (assuming subdomain tenant resolution is working properly).
In my testing of the Phonebook demo application, I have been unable to get automatic subdomain-based tenant resolution to work in either a staging or production environment.
I thought it would just work automatically, but it didn't. So, I read some more on this page in the Abp documentation:
https://aspnetboilerplate.com/Pages/Documents/Multi-Tenancy#switching-between-host-and-tenants
Based on that page, I added this line to my PhoneBookDemoCoreModule.cs file:
Everything builds fine with that line, but then after publishing the Mvc project to my staging and production web servers, I get this error when trying browse to the application:
<br> This is how I have my appsettings.staging.json and appsettings.production.json files configured:
If I remove the Configuration.Modules.AbpWebCommon().MultiTenancy.DomainFormat line from the module and re-publish, everything works fine again, in terms of multitenancy - just no automatic tenant identification based on subdomain.
I am working on coming up to speed on ASP.NET Zero and Abp. I am currently working through the PhonebookDemo tutorial using ASP.NET Core 2.2 MVC.
I followed the instructions on this page of your Abp documentation to make sure VS 2017 has source link enabled:
https://aspnetboilerplate.com/Pages/Documents/Debugging
Here is what my settings look like:
When I debug the MVC project it tells me that the Abp symbols are not loaded:
<br> Is there a symbol server for Abp somewhere that I need to be pointing to?
If we want our users to be able to sign-up with their Azure AD accounts (as opposed to standard ASP.Net Zero email accounts) how would we go about configuring that?
We want them to be able to sign-up with their Azure AD accounts and subsequently login with the same account.
Our ASP.NET Zero application will be multi-tenant, so a business customer of ours will be an ASP.NET Zero tenant and their Azure AD users will be users in that tenant in our application.
I've done some searching of your documentation and forum posts and haven't been able to find any discussions that really explain how this can be accomplished.
Thanks,
Jeff