actually, this is impossible. Because tenants and host data are independent
Ok, that's what I assumed.
Did you see that I found a bug? Please enter this as a bug in your backlog.
User has permission to edit a user. Now the item “Sessions” appears in the action menu. If I want to open this, the error message Volo.Abp.Authorization.AbpAuthorizationException appears (because the user has not set the “Sessions” permission). This should then also not be available in the menu.
I would also like to know what you would suggest as best practice for such a scenario as I have described?
Hi liangshiwei, thank you for your answers.
You can use the tenant simulation feature
What do you mean by “tenant simulation”? I assume you mean the “Login with this tenant” button. But this only works if an admin user is assigned to the tenant. However, I mean the option of being able to log in to the tenants with the host admin and having admin rights.
Ok, thank you for the answer.
Scenario: In our web application, our customers get one tenant each. The customer then has the option to add further users to the tenant (other employees of the company). To be able to create (and delete) other users, they need permission for user management (Create, Edit, Delete, View details). We do not want to give them any other rights (no role management, no sessions, ...).
So that we still have an admin user (for us) who has all the admin rights, we would like to preserve the general admin user. However, the customer does not receive this login data. We do not want the customer to be able to change / delete this user.
Is this procedure unusual? What are best practices for this case, which certainly occurs often?
Menu item:
I would also like the customer not to see the Identity management menu item, but directly an item named User management. How should I do this?
I have noticed something else:
User has permission to edit a user. Now the item “Sessions” appears in the action menu. If I want to open this, the error message Volo.Abp.Authorization.AbpAuthorizationException
appears (because the user has not set the “Sessions” permission). This should then also not be available in the menu.
Thanks, Adrian
I thought I would have to implement this myself. I just hoped you could give me a few tips on how to do it. Or perhaps how you implemented it at Abp.
Sorry for the three new questions to the payment / subscriptions:
Where do I configure whether a subscription is automatically renewed or whether the user has to renew it manually? You at ABP have implemented the “Automatic Renewal” option in “Organization Management”. How does it work if this is changed? Is there a request to the payment provider and then this is stored there with the subscription?
How can you implement that a customer can cancel their subscription again?
We still need the option for the customer to view the invoice. Stripe has a link for this, but how can I access this link? It would be best if this could be displayed directly on the Payment Success page.
Please send an email to liming.ma@volosoft.com I will share the source code.
Thanks a lot for your mail.
Enabling WebHooks Configuring Web Hooks is highly important for subscriptions otherwise your application won't be able to get subscription changes, such as canceled or updated states. Each gateway has its own configuration:
https://abp.io/docs/commercial/5.1/modules/payment#enabling-webhooks
Stripe will send a request to your website(
yourdomain.com/payment/stripe/webhook
)
Yes, exactly, I am aware of that. And it also works for renewing a subscription. But an early cancellation or change of the subscription duration is not implemented (I would have thought that this should come via the “customer.subscription.updated” event).
Ok, that's a good hint and could work like this.
Is there a way to get the source code of the StripePaymentGateway
or the PaymentModule in general?
We may still have to implement Payrexx as a gateway. And it is quite time-consuming and complex if the StripePaymentGateway
is a black box as a template.
In addition, we have identified a problem with the WebHooks in connection with subscriptions at Stripe and it is now difficult to say whether the problem is in the payment module or whether we have not understood the mechanism. An insight into the implementation of the distributed events would be helpful.
The problem identified is as follows: We cancel a subscription with Stripe before the end (e.g. with a refund to the customer), the payment module processes the event (I can see this in the log file), but the EditionEndDateUtc
field in the SaasTenant is not changed. Now we would like to know WHAT exactly the payment module processes when such an event occurs and what we have to do ourselves. We use the EditionEndDateUtc
to check whether the subscription is still valid and it still contains the previous date and not the updated one.
Can you share the screenshot of
list
page?I think you can only customize the
list
page to do this.
What do you mean by the List page? Which one?