Add pages permission
This commit is contained in:
31
app/main.py
31
app/main.py
@@ -2,31 +2,54 @@ import streamlit as st
|
||||
import logging
|
||||
from logging_config import setup_logging
|
||||
from version import __version__
|
||||
from auth import get_role_for_user, get_fullname_for_user, get_sidebar
|
||||
from auth_runtime import require_login
|
||||
from ui.sidebar import build_sidebar
|
||||
import os
|
||||
from app_db.app_db import get_list
|
||||
|
||||
APP_ENV = os.environ.get("APP_ENV", "dev")
|
||||
|
||||
logger = setup_logging(APP_ENV)
|
||||
#logger.info(f"Starting migration - APP-Version {__version__}")
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
def main():
|
||||
st.set_page_config(
|
||||
page_title=f"Co-App Start - V{__version__}",
|
||||
page_title=f"Co-App Home - V{__version__}",
|
||||
page_icon="🔒",
|
||||
layout="centered",
|
||||
)
|
||||
|
||||
authenticator = require_login()
|
||||
# damit build_sidebar den authenticator findet:
|
||||
st.session_state["authenticator"] = authenticator
|
||||
|
||||
#--------------------------------------------------------------------------------
|
||||
# Ab hier ist Benutzer angemeldet!!
|
||||
#--------------------------------------------------------------------------------
|
||||
|
||||
# Alles was man so braucht in der App wird in session_state abgelegt
|
||||
|
||||
# zuerst den authenticator holen ...
|
||||
st.session_state["authenticator"] = authenticator
|
||||
# ... dann ist der name des users in der sesstion_state verfügbar!
|
||||
|
||||
|
||||
# Ich suche mir erst mal alles zusammen, was ich dann in session_state speichern will ...
|
||||
username = st.session_state.get("name") # wird duch authenticator gesetzt
|
||||
role_text = get_role_for_user(username)
|
||||
fullname = get_fullname_for_user(username)
|
||||
sidebar = get_sidebar(role_text, username)
|
||||
|
||||
# ... und lege es dann im session_state ab.
|
||||
st.session_state["role_text"] = role_text
|
||||
st.session_state["fullname"] = fullname
|
||||
st.session_state["df_sidebar"] = sidebar
|
||||
|
||||
build_sidebar()
|
||||
|
||||
st.header("Controlling-Portal")
|
||||
st.info(f"Willkommen, {st.session_state.get('username')}!")
|
||||
|
||||
st.text("Hier könnte eine Nachricht für den Benutzer stehen")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user