Web Password Manager – założenia

Założyłem sobie że stworzę aplikację webową do zarządzania różnymi poświadczeniami. Pisząc poświadczenia mam na myśli hasła dostępowe do różnych witryn, np. sklepów, organizacji. Zauważyłem, pracując tu i ówdzie, że częstym problemem jest:

  • stracenie loginu i/lub hasła do witryny
  • zdublowanie dostępu (konta do jednej witryny: firma1, firma2, jan.kowalski…), wynikające z niewiedzy o już istniejących kontach
  • niemożliwość określenia kto w danej chwili ma dane dostępowe do konkretnej witryny
  • nieoficjalne przekazywanie poświadczeń

Aplikacja ma być odpowiedzią na powyższe problemy. Aby to zrealizować aplikacja będzie umożliwiała:

  • Dodawanie poświadczeń
  • Wyszukiwanie już istniejących poświadczeń
  • Nadawanie uprawnień do poświadczeń
  • Nadawanie ról użytkownikom
  • Tworzenie raportów

Użyję:

  • ASP.NET MVC Core 1 – mój pierwszy kontakt z tą wersją, więc może nie będzie bolało. Mam w rss-ach paru blogersów, którzy tworzą na potrzeby konkursu też w tej technologi, więc czegoś się poduczę
  • Entity Framework Core – też pierwszy kontakt z tą wersją, i też mam nadzieję że nie będzie bolało. Wujek G pomoże ;]
  • uwierzytelnianie za pomocą Active Directory – aplikacja przede wszystkim będzie miała zastosowanie w firmowych intranetach,  więc to raczej wiadomy wybór. Dla domowych użytkowników mimo wszystko proponuję KeePass-a.
  • na froncie będzie użyty Bootstrap

W przyszłości może dorzucę aplikację desktopową, która będzie łączyła się z aplikacją webową.

Dodatkowo muszę zastanowić się nad bezpieczeństwem, czyli zaszyfrowaniem poświadczeń w bazie, jak bezpiecznie przekazać poświadczenia do przeglądarki pracownika, czy admin może widzieć wszystkie hasła, co zrobić gdy zabieram uprawnienia do poświadczeń dla pracownika… itd. Mam nadzieję że odpowiedzi na te wszystkie pytania znajdę w trakcie pracy nad projektem.

Projekt na githubie

One thought on “Web Password Manager – założenia

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *