We are in the process of customizing superset to do something similar (without forking), though it doesn't involve row-level granularity. I was able to accomplish view-level access with a combination of FAB permissions and a custom security manager. Basically:
- User logs into superset through OAuth2 with our API.
- Security manager makes request to our API for a list of things the user can access.
- Superset builds datasources only for those items.
For this to work, we created a custom role that forbids users from doing things like creating new databases/tables, and add each user to that role once they log in. At this point, you may want to make a connector for your own purposes so users can refresh datasources when they want/need to. Superset exposes a config setting for custom connectors so you don't have to modify source to load it. The Druid connector is a good example of this.
So, to answer your question: sort of. Table-level/view-level access control is definitely doable, though it will be a bit of effort. Row-level access control? Probably not, unless your database engine of choice supports row-level access control.