Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maintain Nova Accessibility Of Impersonating User #98

Open
MannikJ opened this issue Dec 21, 2021 · 0 comments
Open

Maintain Nova Accessibility Of Impersonating User #98

MannikJ opened this issue Dec 21, 2021 · 0 comments

Comments

@MannikJ
Copy link

MannikJ commented Dec 21, 2021

I just had an idea because we use Nova and Impersonation quite excessively in our app.

Often it is very annoying when you've set up some complex table filters on a Nova resource and then you want to check something inside the app impersonated as another user. If you then reload the nova resource index while impersonating, you're getting a forbidden error, because the impersonated user does not have the permission to access nova.

What I tried to do is changing the Nova gate to grant access to the impersonating user as well with the help of the impersonation manager.
At first I thought this would already achieve what I wanted, but I had to quickly realize that Nova obviously still uses the current impersonated user for further checking of permissions via policies. This way you get into Nova, but you don't see much because the policies of the impersonated user forbid it.

So what I need is some kind of full overwrite of the nova user with the impersonating user so he can still see everything as if he was not impersonating. Of course the user should not be overridden for other parts of the app, because then the feature would be useless.
I'm searching for something like a nova user resolver that I could change to return the impersonating user instead of the impersonated, but only for nova context. So that it looks like nova doesn't even notice when a user enters a impersonation session.

I would be very glad if anyone could help with this idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant