Hello everyone, In my flask application there is some issue related to login system and issue as below 1)in flask app there are multiple users(roles) like admin ,indentor.....etc. and the problem is that if any user login on same browser where already any user logged in then previous user automatically logout and recent user logging successfully 2)if browser are different and users also different means only one user login through one browser then there is no problem it works properly 3)if browser is same and user also same then same name user login successfully but previous same user session id change 4)in any browser with same web page who running on local server all tabs session id same inside the cookies it means on same browser all tabs session id same for same web application
i current situation i face the issue related to session management ,and issue is that only one user login at same time with same browser so please read all above the conditions very carefully and then provide the solution ,i also attach the code in below and session management working flow screenshot # Flask-Login Configuration login_manager = LoginManager() login_manager.init_app(app) login_manager.login_view = 'login' # User model class User(UserMixin): def __init__(self,user_id, username, password): self.id=user_id self.username = username self.password = password def get_id(self): return str(self.id) # Convert to string if necessary @login_manager.user_loader def load_user(user_id): user_data =collection_user.find_one({'user_type': user_id}) if user_data: return User(user_id=user_data['user_type'],username=user_data['user_type'], password=user_data['password']) return None #LOGIN MODULE # Route for user login @app.route('/', methods=['GET', 'POST']) def login(): if request.method == 'POST': print('inside the login') user_type = request.form.get('user_type') email = request.form.get('email') password = request.form.get('password') print('value of user type->>>', user_type) print('value of email->>>', email) print('value of password->>>', password) user=collection_user.find_one({'user_type':user_type,'email':email, 'password':password}) print('value of user is->>>',user) if user: user_obj=load_user(user_type) # Generate a unique session ID for the user session_key = f"user_{user['_id']}_{uuid4()}" # Store user-specific data in the session using the generated session key session['user_type'] = user_type session['user_email'] = email session['session_key'] = session_key print('value of user_obj is-->>',user_obj) login_user(user_obj) return redirect(url_for('dashboard')) return render_template('login.html', error='Invalid credentials,plz enter valid id or password') print('direct out of the if condition') return render_template('login.html', error=None) @app.route('/dashboard') @login_required def dashboard(): #Retrieve the session key from the session session_key = session.get('session_key') if session_key: # Retrieve the session key from the cookie user_type = session.get('user_type') print('value user_type is-->>',user_type) if user_type == 'admin': print('inside the admin user') return redirect(url_for('home_page')) elif user_type == 'indenter': print('inside the indenter user') return redirect(url_for('indenter_dashboard')) elif user_type == 'purchaser': print('inside the purchaser user') return redirect(url_for('purchaser_dashboard')) elif user_type == 'store': print('inside the store user') return redirect(url_for('store_dashboard'[image: Screenshot from 2024-04-03 16-36-43.png]))[image: Screenshot from 2024-04-03 16-36-43.png] -- You received this message because you are subscribed to the Google Groups "GWT Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/9c06cac8-f60d-4919-9184-fbae2083d439n%40googlegroups.com.