GitHub user dosubot[bot] added a comment to the discussion: when i use my 
custom superset_config.py,there is an error like this,how to fix it ?

<!-- Answer -->
You can automate session cleanup in Superset so users don't have to clear their 
browser cache after a user is deleted. In your superset_config.py, use the 
FLASK_APP_MUTATOR hook to add a before_request handler that checks if the 
current user still exists and logs them out if not. This will clear the session 
server-side whenever a deleted user tries to make a request, preventing the 
"NoneType object has no attribute 'is_active'" error.

Here's an example:

```python
from flask import g
from flask_login import logout_user, current_user
from superset.extensions import db
from superset.models.core import User

def logout_if_user_deleted():
    if current_user.is_authenticated:
        # Check if user still exists in the DB
        user = db.session.query(User).get(current_user.get_id())
        if user is None or not user.is_active:
            logout_user()

def FLASK_APP_MUTATOR(app):
    app.before_request(logout_if_user_deleted)
```

Add this to your superset_config.py. Now, if a deleted user tries to use their 
session, Superset will log them out automatically and redirect them to the 
login page, no manual cache clearing needed. This is the recommended pattern 
for handling deleted user sessions in Superset 
[[docs](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/docs/docs/configuration/configuring-superset.mdx)].


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? 
[Good](https://app.dosu.dev/response-feedback/80858db1-17f4-4989-bfa9-3412efca3332?feedback_type=great_response)
 | 
[Irrelevant](https://app.dosu.dev/response-feedback/80858db1-17f4-4989-bfa9-3412efca3332?feedback_type=irrelevant_answer)
 | 
[Incorrect](https://app.dosu.dev/response-feedback/80858db1-17f4-4989-bfa9-3412efca3332?feedback_type=incorrect_sources)
 | 
[Verbose](https://app.dosu.dev/response-feedback/80858db1-17f4-4989-bfa9-3412efca3332?feedback_type=too_verbose)
 | 
[Hallucination](https://app.dosu.dev/response-feedback/80858db1-17f4-4989-bfa9-3412efca3332?feedback_type=hallucination)
 | [Report 
🐛](https://app.dosu.dev/response-feedback/80858db1-17f4-4989-bfa9-3412efca3332?feedback_type=bug_report)
 | 
[Other](https://app.dosu.dev/response-feedback/80858db1-17f4-4989-bfa9-3412efca3332?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat
 with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)&
 nbsp;[![Join 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share
 on 
X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/32808)

GitHub link: 
https://github.com/apache/superset/discussions/32808#discussioncomment-13971782

----
This is an automatically sent email for notifications@superset.apache.org.
To unsubscribe, please send an email to: 
notifications-unsubscr...@superset.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org
For additional commands, e-mail: notifications-h...@superset.apache.org

Reply via email to