public void PutUser(string username, User user) { User desiredUser = FindUser(username); if(desiredUser == null) { _users.Add(username, user); WebOperationContext.Current.OutgoingResponse.SetStatusAsCreated(GetUserLink(username)); return; } desiredUser = user; WebOperationContext.Current.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.OK; }
/// <summary> /// Logowanie użytkownika. /// Jeśli użytkownik nie miał wpisanego hasła (lub zostało wyczyszczone) to podane hasło jest zapisywane w tabeli. /// </summary> /// <param name="user_idn"></param> /// <param name="haslo"></param> /// <returns></returns> static public decimal Zaloguj(string user_idn, string haslo) { User user; lock (usersTab) { //jeśli tablica userów to odczytujemy z bazy listę userów if (usersTab.Count == 0) { DataSet ds = SQL.SQLDataSet("select * from hts_user"); DataTable dt = ds.Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { user = new User(); user.User_id = Convert.ToDecimal(dt.Rows[i]["user_id"]); user.User_idn = Convert.ToString(dt.Rows[i]["user_idn"]); user.Haslo = Convert.ToString(dt.Rows[i]["haslo"]); proceduryTab.Add(user.User_idn, user); } } user = (User)usersTab[user_idn]; } if (user != null) //jest user o takim idn { haslo = Crypto.Encrypt(haslo, user_idn); //szyfrujemy podane haslo if (String.IsNullOrEmpty(user.Haslo)) //jesli user miał puste hasło to zapisujemy podane jako jego haslo { try { SQL.SQLCommand("update hts_user set haslo = '" + SQL.StringForSQL(haslo) + "'" + " where user_id=" + user.User_id.ToString()); } catch { throw new Exception("Wystąpił błąd przy zapisie hasła."); } user.Haslo = haslo; return user.User_id; //logowanie OK - haslo się zgadza } else { if (haslo.Equals(user.Haslo)) return user.User_id; //logowanie OK - haslo się zgadza } } throw new Exception("Błędny identyfikator użytkownika lub hasło "); }