- What is your product version? 11.0.1
- What is your product type (Angular or MVC)? Angular
- What is product framework type (.net framework or .net core)? .NET 6
I have the following case and I would like your advises on how to proceed.
I would like to deploy a new small web application (client portal) in order to access specific part/services of the main application, but with limited permissions and functionality of course. The main application (angular + asp.net core) is a multitenant application and each tenant/customer have it's own clients, hence the need of the client portal. To do so I am planning to create a new web application/front-end but I would like to benefit and use the existing asp.net zero functionality as my base/core back-end.
Can I create a new class project inside existing core solution as a new module in order to implement all portal related application services? i.e mycompany.myapplication.application.portal Do I need to create a new module in all layers or a new module in application layer only?
How can I expose these services separated and isolated and not mixing them with the application (full) services and functionality? If I just add the depentency in webcoremodule it's going to add/expose the new services along with the application services right? Do I have to create a new web host project instead? Please advise.
Also how can I isolate database related functionality on EF/migration layer as well as on DB layer? For the DB layer can I implement a new repository that will point to a new connection string? This way I am thinking to have a second schema on the database (SQL) with limited permissions. Please advise your recommendation on this.
Thank you.
5 Answer(s)
-
0
Hi @Loizos
- I suggest creating all layers for your module instead of just creating the Application layer.
- If you don't want to expose those services with your main app, yes, you need to create a new web app and depend on your new app module.
- If you create a new EF Core layer for your module, you can configure a different DB.
As I can see, what you need is a new web app (with all layers) instead of adding a new module to existing app. Why don' t you proceed that way ? You can move the common parts in your existing app to a class library and use it both from your existing app and new app.
-
0
Hi @ismcagdas,
Thank you for your answers. I am still little confused though because in order create a new app with all layers, it means that I have to purchase a new license right? In such a case I don't believe I will get an approval from MDs for the moment so I am looking for alternatives.
So for example my initial idea is to create a new front-end client portal (outside asp.net zero) but connect it with the existing back-end (asp.net zero). Is that possible or not? Can I utilize the existing distrubution layer in order to call application APIs from my own front-end?
The second thing is that I would like to isolate somehow all available services to the client portal. How can I achieve that and what are the options I have? Can I use permissions for example instead of separate them physically? Please explain me a little bit on this matter.
Thank you in advance.
-
0
Hi,
If your second app and first app belongs to same product, you don't need a new license.
The second thing is that I would like to isolate somehow all available services to the client portal. How can I achieve that and what are the options I have? Can I use permissions for example instead of separate them physically? Please explain me a little bit on this matter.
Yes, you can use permissions but you need to grant necessary permissions to specific roles/users manually.
-
0
Hi @ismcagdas
Thank you very much that's great news for me :)
So can you just explain now how to deal/comply with naming conventions in regards to the new project names (hence namespaces)?
Thanks, Loizos
-
0
Hi @Loizos
Could you send an email to [email protected] with the module names you want to create so we can help you.
Thanks,