Activities of "hikalkan"

Answered via email.

Thanks for deleting the repository. Best regards.

Hi again,

Can you please delete your repository from GitHub ( https://github.com/kkeld/Nova ). Because this is an ABP Commercial solution and it is illegal to share it with anyone else, especially with public community.

I am glad that you have made it working in your side. I also see there is a misunderstanding. My first paragraph was a general response to customers who are asking us to help for implementing their own business or non-business application requirements. For such cases, we can just try to lead with a few sentences, as I did in the remaining part of my response for your question.

Since we could not get anything new for this question, would you consider amending our question token back?

No, unfortunutaly. It would be only possible if you could give back my time to try to understand your question and write my answer. Even if our answer doesn't include a directly useful information for you, it gets our time and it is a part of regular support process. We give the question token back only if there is a bug in ABP and your project doesn't work because of that bug. In this case, to be fair, we give your question token back, since we see it is our fault.

@nirmaldeol are you upgrading your 6.x solution to v7.0, or creating a new microservice solution from scratch with the version 7.0? For new solutions with 7.0, it is already pre-configured.

Please write to support@abp.io

Hi @andmattia,

The first App use a login embedded on Angular when I click in a link that redirect to App2 I land on home but I'm not already logged in. I click the login button but I need to re enter my credentials.

It is normal that App2 is not logged in. But it should be automatically login when you click the Login button, without asking credentials again - because the authentication application is already logged in (check this please, it should remain logged in after app1's login).

When I consider your all comments, I suspect that the app2 can not resolve the current tenant. Especially, the audit log case shows it. When you login with app2 (through the auth server), can it login with tenant? You can see on the top left of the page (it should show the tenan'ts name near to the user's name), or you can check the ABP's application configuration api endpoint result (in angular app's developer tools - the network tab) to see if the current user and tenant are true.

It is probable that there is some problem with configurations or other setup. Especially, you should double-check everything with multi-tenant with subdomain scenario. It is hard to fully prepare a test environment as yours in our side. If your system is live, you may create a user for us to test it.

Hi @burkay,

ABP Commercial doesn't have a feature to prevent concurrent login. If your application requires it, you should implement it yourself. If you have any trouble because of ABP, or you want to get advice how to do a specific thing in ABP, we help you, but we can't fully implement a feature that is needed for you. I agree that this can be a good feature for ABP Commercial, but currently it is not included, sorry.

Beside my response, I personally can give you a few suggestions that may help you on your implementation. For an example implementation, you can go like that:

  • When use logins, you can create a claim in the authentication ticket that has a random GUID value. Also add the same GUID value to distributed cache with the user's id as key. Keep cache time as long as needed.
  • You can write an asp.net core middleware that gets the claim's value and compare it with the cached value. If there is no value in the cache (it might be expired), you can write that value to cache. If there is a cached value, and it is the same value, you allow to continue. Otherwise (if the values are different), just return an unauthorized response to the user. Instead of a middleware, I believe that can be achieved by writing some interceptor or validator for asp.net core authentication. You should research that.

I suppose you can also find some solutions on web since your requirement is a common requirement. As I said, we will consider to implement it in ABP Commercial's standard.

Hi @ccernat

In my experiences, if the authentication fails in Blazor WASM apps, it waits too much to respond. That's something in Blazor's internal, I don't know why. After you solve the issue about authentication (and the problems in your browser console), the load time problem should be solved.

Blazor never loads as fast as other UIs (MVC and Angular) in our tests. What I can clearly say is that it is not related to ABP's backend, because as I already said, MVC and Angular UI are loading pretty fast. Especially, you can compare Blazor with Angular since they are both SPAs. ABP's Blazor UI actually has no much magic that cause such a slowness.

We want to help you. Please, first try to resolve the errors. If you find it still slow, please help us to reproduce it, since we don't have such a problem in ABP Commercial's standard Blazor startup template.

Hi,

Unfortunately, we can't declare an availability date yet. All I can say that it is one of the important and prioritized items in our product backlog.

Hi,

I suppose you are talking about the Volo.Abp.Users.Abstractions package. We created it to not depend on the Microsoft Identity library from our other modules and make the Identity library replaceable in advanced scenarios.

We don't plan and we don't want to create abstractions for organization units and roles. We already have abstractions for permissions (and settings, features, etc - these are defined in the core abp framework packages, while the database implementation are in separate modules). You don't need to have a reference to the Permission Management module, for example, to check a permission.

We don't think it is true to create such a detailed abstraction. OU and roles are mainly used to organize permissions and your module should only need to the permission system dependency (it already has). These details are internals of the Identity module.

Creating an abstraction is a very serious decision and has important costs. If we create abstractions for OUs and roles, we implicitly force all the implementations should support these systems (in ideal). Abstractions should be minimal and should have very few assumptions about the implementations. If we completely wrap all Identity details, no point to make an abstraction, we directly use it.

Finally, such abstractions are useful while developing a modular framework. But you probably don't need it. You can directly depend on the Identity module from your other modules, especially if you don't need a system that makes possible to change the Identity without effecting other modules. Even if you need it, creating such a detailed abstraction may have a bigger cost than changing the Identity module when you need it in the future.

Showing 1 to 10 of 75 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11