/// <summary>
        /// prüft, ob Benutzername und Passwort gültig sind und loggt den Benutzer ggf. ein
        /// </summary>
        /// <param name="username">zu prüfender Benutzername</param>
        /// <param name="passwd">zu prüfendes Passwort</param>
        /// <returns>true, wenn Login erfolgreich, sonst false</returns>
        public bool Login(string username, string passwd)
        {
            // Daten für die DB-Abfrage vorbereiten
            SqlParameter pUsername = DataAccessBenutzer.ParamName;
            pUsername.Value = username;
            SqlParameter pPasswd = DataAccessBenutzer.ParamPasswort;
            pPasswd.Value = passwd;
            DataParameters loginParams = new DataParameters();
            loginParams.Add(pUsername);
            loginParams.Add(pPasswd);

            // DataSet mit Ergebnissen abholen
            DataAccessBenutzer daUser = new DataAccessBenutzer();
            DSBenutzer dsUser = daUser.Select(loginParams);

            // genau 1 Datensatz?
            if (dsUser.benutzer.Count == 1)
            {
                m_isLoggedIn = true;
                m_username = username;
                m_userID = dsUser.benutzer[0].UserID;
                m_isAdmin = (DBConstants.Admin == dsUser.benutzer[0].GruppenID);
            }
            else
            {
                Logout();
            }

            return m_isLoggedIn;
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            daBenutzer = new DataAccessBenutzer();

            // Einblendungen für Login und Navmenü prüfen
            check_visibility();
        }
        private void RefreshDGBenutzer()
        {
            // alle Benutzerdatensätze aus der DB ziehen und im Datagrid darstellen
            DSBenutzer dsAllUsers = new DataAccessBenutzer().Select();
            m_dgBenutzer.DataSource = dsAllUsers.benutzer;
            m_dgBenutzer.DataBind();

            // Benutzerrechte in den DropdownListen darstellen
            // Inhalt der Dropdownlisten vorbereiten
            ArrayList choice = new ArrayList();
            choice.Add("Benutzer");
            choice.Add("Admin");
            for (int i = 0; i < dsAllUsers.benutzer.Count; i++)
            {
                DropDownList ddl = (DropDownList)DataGridAccess.GetControlFromDataGrid(m_dgBenutzer.Items[i], typeof(DropDownList), 3, 0);
                if (ddl != null)
                {
                    ddl.DataSource = choice;
                    ddl.DataBind();
                    ddl.SelectedIndex = dsAllUsers.benutzer[i].GruppenID;
                    ddl.SelectedIndexChanged += new EventHandler(ddlUserRights_SelectedIndexChanged);
                    ddl.AutoPostBack = true;
                }
            }
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            daBenutzer = new DataAccessBenutzer();

            // Einblendungen für Login und Navmenü prüfen
            check_visibility();

            // bei jedem Laden prüfen, ob der Benutzer eingeloggt ist und Adminrechte hat
            // wenn nicht, auf die Startseite zurückschicken
            UserInfo user = SessionContainer.ReadFromSession(this).User;

            //			// TEST: zum Testen einen Benutzer einloggen
            // user.Login("kathrin", "kathrin");

            if (!user.IsLoggedIn || !user.IsAdmin)
            {
                Server.Transfer("default.aspx");
            }

            if (!IsPostBack)
            {
                // Sichtbarkeiten festlegen: Benutzer sollen beim Start der Seite angezeigt werden
                ShowBenutzer();
            }
        }
        private void m_btnBenutzerLoeschen_Click(object sender, System.EventArgs e)
        {
            // für alle selektierten Zeilen den entsprechenden Datensatz löschen
            DataAccessBenutzer daBenutzer = new DataAccessBenutzer();
            // IDs aller selektierten Benutzer ermitteln
            for (int i = 0; i < m_dgBenutzer.Items.Count; i++)
            {
                CheckBox cbx = (CheckBox)DataGridAccess.GetControlFromDataGrid(m_dgBenutzer.Items[i], typeof(CheckBox), 1, 0);
                if (cbx != null && cbx.Checked)
                {
                    // Datensatz löschen
                    int id = Convert.ToInt32(m_dgBenutzer.Items[i].Cells[0].Text);
                    daBenutzer.DeleteBenutzer(id);
                }
            }

            RefreshDGBenutzer();
        }
        private void Page_Load(object sender, System.EventArgs e)
        {
            daBenutzer = new DataAccessBenutzer();

            /* Sichtbarkeit festlegen */

            if (!SessionContainer.ReadFromSession(this).User.IsLoggedIn)
            {
                // Zeige Login wenn User nicht eingeloggt ist
                m_login.Visible = true;
                m_logout.Visible = false;
            }
            else
            {
                // Zeige Logout wenn User eingeloggt ist
                m_login.Visible = false;
                m_logout.Visible = true;
            }
        }