• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Prosty system logowania, login i hasło obok siebie w JEDNEJ tablicy

Object Storage Arubacloud
0 głosów
1,447 wizyt
pytanie zadane 20 maja 2018 w C# przez polwar98 Nowicjusz (120 p.)
edycja 20 maja 2018 przez polwar98

Witajcie 

Link do kodu

Mam napisać zadanie na ćwiczenia. Ma to być prosty system rejestracji i logowania w c#. Login ma mieć min 3 znaki, a hasło min 8 znaków, i conajmniej jedną dużą literę, cyfrę oraz znak specjalny. Max może być 50 użytkownikow, a dane czyli loginy i hasła mają być przechowane obok siebie w jednej tablicy w systemie [login haslo login1 haslo1 ....]

Logowanie powinno być udane gdy login znajdujący się w parzystej "komórce" tabeli będzie miał za sąsiada w następnej komórce podane przez użytkownika hasło. 

Rejestrację udało mi się zrobić, został mi tylko tylko warunek na cyfrę i znak specjalny w hasle ale to jakoś sam ogarnę. Ale z logowaniem kompletnie nie mogę ruszyć. Próbowałem to robić jakimś rozwiązaniem ze StackOverflow: 

        private void button1_Click(object sender, EventArgs e)
        {
            string login = textBox1.Text;
            bool loginPlace = login from y in users where ((y % 2) == 0);
            string pass = textBox2.Text;
            bool passPlace = pass from y in users where ((y % 2) == 1) && login[y]+1;
            if (login)
            
    }

Ale to coś chyba tu jest nie tak :( Na zajęciach działań na sprawdzaniu gdzie co jest w tablicy nie mielismy, a na StackOverflow nic sensownego nie znalazłem. 

button1 to przycisk logowania

button2 rejestracji

Z góry dzięki za wszelką pomoc. Pozdrawiam

komentarz 20 maja 2018 przez polwar98 Nowicjusz (120 p.)
Własnie nikt za bardzo dobrze prowadzącego nie zrozumiał. Ale najpowszechniejsza plota mówi że login musi być zawsze w komórce 0, 2, 4, itd az do 98. A hasło w 1 3 5 az do 99. I najpierw powinno sprawdzać czy tekst z loginLogowanie znajduje się w parzystej komórce tabeli, a potem czy w następnej, tuż obok znajduje się tekst z hasłoLogowanie.

Pewne jest to że na 100% musi być to w jednej tablicy, i NIE można sobie rozbić tego na dwie. że loginLogowanie == usersLogins[0] && hasloLogowanie==usersPasswords[0]
komentarz 20 maja 2018 przez maciej.tokarz Nałogowiec (27,280 p.)
To niestety przekracza moje umiejętności - jeśli chcesz napisać prosty system logowania z walidacją nowych użytkowników to mogę ew. pomóc (ale według mi znanych sposobów).

M.
komentarz 20 maja 2018 przez polwar98 Nowicjusz (120 p.)
No ewentualnei mogę zrobić to na dwóch i mu oddać takie, bo serio nie mam pojęcia jak to ugryżć żeby było na jednej.
komentarz 20 maja 2018 przez maciej.tokarz Nałogowiec (27,280 p.)

A czemu nie korzystasz z obiektów? Na przykład:

public class User
    {
        public User(int id, string name, string password)
        {
            Id = id;
            Name = name;
            Password = password;
        }

        public int Id { get; set; }
        public string Name { get; set; }
        public string Password { get; set; }
    }

public List<User> Users;

        private void InitUserList()
        {
            Users = new List<User>
            {
                new User(1, "maciej", "hasło1111"),
                new User(2, "adam", "hasło1234"),
                new User(3, "agnieszka", "hasło5678")
            };
        }

M.

 

komentarz 22 maja 2018 przez polwar98 Nowicjusz (120 p.)
Witaj,

Przepraszam że z opóźnieniem. Na listach/obiektach/czymkolwiek innym nie możemy, tylko na jednej tablicy. Ale pokombinowałem z petlą for i juz wszystko działa.

Dzieki za pomoc :)

Pozdro

1 odpowiedź

0 głosów
odpowiedź 20 maja 2018 przez CzikaCarry Szeryf (75,340 p.)
Tak abstrachując od tematu, to między innymi z powodu takich "ćwiczeń" nie pójdę do technikum informatycznego czy na studia informatyczne. Przecież takie ćwiczenia to jest jawne kastrowanie możliwości języka (przechowywanie loginów i haseł obok siebie w tablicy :o). Nie wiem co nasz system edukacji chce osiągnąć, chyba to, aby systemy pisane przez Polaków po prostu nie działały (przykładów systemów za miliony pisanych dla inatytucji rządowych, które nie działają jest wiele). Co te ćwiczenie ma na celu? Wpajanie złych praktyk? Ja, gdybym był pracodawcą i zobaczył taki kod na produkcji to albo bym zwolnił pracownika, albo dowalił 13zł/h brutto i niech się cieszy z takich pieniędzy. Gdybym był w zespole programistycznym zatrudniony jako programista, a jako architekt oprogramowania był zatrudniony autor zadania, i kazałby mi pisać kod w taki sposób to bym się zwolnił ze wzgledu na celowe obniżanie moich umiejętności.
komentarz 21 maja 2018 przez Siemił Mądrala (7,380 p.)
Postara się wejść w rolę adwokata diabła.

Jak na studiach rozwiązywaliśmy strasznie pokręcone całki, strasznie się burzyłem, co to ma być. Prowadzący spokojnie wytłumaczył, że nigdy nie spotkam w pracy czy w życiu tego rodzaju całek, ale jeśli nauczę się rozwiązywać takie całki to te "życiowe" będę z wciągał nosem.

Może prowadzącemu też chodzi o to żeby pokombinować z takim zadaniem, a nie pisać program który z małymi usprawnieniami mógłby pójść na produkcję.
komentarz 21 maja 2018 przez CzikaCarry Szeryf (75,340 p.)
edycja 21 maja 2018 przez CzikaCarry
Ale tutaj nie chodzi o to, że zadanie jest trudne, tylko chodzi o to, że jest bez sensu. Zrobienie tego porządnie (w sensie przechowywania obiektów UserData w liście) może i by wymagało np. zadeklarowanie jeszcze jednej klasy / struktury, wyszłoby kilka linijek kodu więcej, ale przynajmniej byłoby to napisane w miarę poprawnie.

Nie trudno sobie wyobrazić, że ktoś po takim czymś przejdzie np. na język C, popisze tam jakiś rok, następnie powysyła wszędzie CV o pracę w C# bo się C nie spodobało, i dostanie zadanie aby napisać system logowania, i sobie przypomni jak to Pan wykładowca kazał pisać.

Gdyby nie było w tym zadaniu wytycznych w jaki sposób dane mają być przechowywane itp. tylko co mamy mieć na wejściu, a co ma wyjściu to byłoby spoko, każdy sam będzie mógł sobie zweryfikować czy napisał kod dobrze czy źle bo ma wolną rękę co do sposobu napisania tego kodu. Do takich zadań obiekcji nie mam, nawet popieram :)

Podobne pytania

0 głosów
1 odpowiedź 243 wizyt
pytanie zadane 2 stycznia 2019 w JavaScript przez AbuNabi666 Nowicjusz (120 p.)
+1 głos
2 odpowiedzi 260 wizyt
pytanie zadane 11 kwietnia 2018 w PHP przez Neronys Bywalec (2,090 p.)
0 głosów
0 odpowiedzi 68 wizyt
pytanie zadane 15 maja 2019 w PHP przez Kacperhehe Bywalec (2,930 p.)

92,632 zapytań

141,500 odpowiedzi

319,878 komentarzy

62,011 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...