private fn_check_user_table ( string username, byte password ) : IQueryable |
||
username | string | |
password | byte | |
return | IQueryable |
/// <summary> /// PSP 8.1 /// User hinzufügen. (Angemeldeter User wird anhand Usernamen und Passwort auf Rechte geprüft) /// </summary> /// <param name="username">den angemeldeten Usernamen übergeben (Überprüfung auf Rechte)</param> /// <param name="password">das dazugehörige Passwort übermitteln (Überprüfung auf Rechte)</param> /// <param name="usernameNew">Name des neu anzulegenden Users</param> /// <param name="passwordNew">Passwort des neu angelegten User</param> /// <param name="admin">Ist User Admin?</param> /// <returns>success -> ob erfolgreich oder nicht</returns> public static bool addUser(string username, string password, string usernameNew, string passwordNew, bool admin) { bool success = false; //Übergebenes Passwort hashen und in Var pwhash speichern für Übergabe an DB Byte[] pwhash = HelperClass.GetHash(password); //Übergebenes neues Passwort hashen und in Var pwhash speichern für Übergabe an DB Byte[] pwhashNew = HelperClass.GetHash(passwordNew); List<int?> userId = new List<int?>(); using (itin18_aktEntities cont = new itin18_aktEntities()) { try { cont.sp_add_user(username, pwhash, usernameNew, pwhashNew); userId = cont.fn_check_user_table(usernameNew, pwhashNew).ToList(); if (admin == true) { if (addUserToUsergroup(username, password, userId[0].Value, 1) == true) { success = true; } } else { if (addUserToUsergroup(username, password, userId[0].Value, 2) == true) { success = true; } } } catch (Exception e) { success = false; } } return success; }
//15.2 Wird nicht gebraucht! //#region PSP 15.2 dimLamp(string username, string password, string lampName, byte brightness) ///// <summary> ///// PSP 15.2 ///// Lampen dimmen ///// </summary> ///// <param name="username"></param> ///// <param name="password"></param> ///// <param name="lampName"></param> ///// <param name="brightness"></param> ///// <returns></returns> //public static void dimLamp(string username, string password, string lampName, byte brightness) //{ // //Übergebenes Passwort hashen und in Var pwhash speichern für Übergabe an DB // Byte[] pwhash = HelperClass.GetHash(password); // using (itin18_aktEntities cont = new itin18_aktEntities()) // { // //ÜbergabeId // int hueId = 0; // //Suche nach Lampe mittels DB-Funktion // foreach (var item in cont.fn_show_lamps(username, pwhash)) // { // //Lampenname überprüfen // if (lampName == item.name) // { // //Holen der LampenId über HueAccess und speichern auf hueId // hueId = HueAccess.GetLampId(item.name); // cont.sp_lamp_dimm(username, pwhash, item.id, brightness); // } // } // //Setzt die Brightness für die Lampe(Ausführung) // HelperClass.SetLampBrightness(hueId, brightness); // } //} //#endregion #region PSP 16.1 userLogin(string username, string password) /// <summary> /// PSP 16.1 /// User Login /// </summary> /// <param name="username">Username</param> /// <param name="password">Passwort</param> /// <returns>true, wenn Anmeldedaten richtig sind ansonsten false</returns> public static int userLogin(string username, string password) { int userIs = 0; //userIs Codebelegung: 0 = Fehler, 1= Admin, 2= User List<int?> user = new List<int?>(); List<int?> admin = new List<int?>(); //Übergebenes Passwort hashen und in Var pwhash speichern für Übergabe an DB Byte[] pwhash = HelperClass.GetHash(password); using (itin18_aktEntities cont = new itin18_aktEntities()) { try { //Von der DB mit den übergebenen Usernamen und PW einen Table mit der UserId/AdminId // anfordern. Wenn kein Eintrag vorhanden ist, ist der User // mit den übergebenen Daten nicht berechtigt user = cont.fn_check_user_table(username, pwhash).ToList(); admin = cont.fn_check_admin_table(username, pwhash).ToList(); if (user[0].Value > 0 && admin.Count() == 1) { userIs = 1; } else { if (user[0].Value > 0 && admin.Count() == 0) { userIs = 2; } } } catch (Exception e) { //wenn Probleme bei DB-Verbindung userIs = 0; } } return userIs; }