In the previous post I showed how to implement cookie authentication in ASP.NET Core Web Api, this time I want to show you how to implement token authentication using JWT token. I strongly recommend you to read my previous post about cookie authentication, because it will be simplier to understand, besides source code showed below have some parts described in the previous post.JWT structure JWT stands for JSON Web Token. It is small, self-contained JSON. It contains credentials, claims and other informa...
Strona głównaUżytkownik
qbasko | użytkownik
Daj się poznać 2017 2806 dni, 22 godziny, 22 minuty temu 105 źrodło rozwiń
This time I want to focus on user authentication. In APIs we can use different methods for user authentication like: -cookie Authentication -basic Authentication (not recommended, slow and insecure) -token Authentication In this post I want to show you how to implement cookie authentication in ASP.NET Core Web API.
Daj się poznać 2017 2809 dni, 17 minut temu 82 źrodło rozwiń
Two posts ago I wrote about Angular2 application and I showed how to add new component and service. This time I want to show you how to implement a service in Angular2 and call webApi from it. I decided to create login service in angular app which calls SignIn method from webApi (request via http post method). Ok, let’s start. I have login.component and login.service in my angular app. First we need to make sure if login service is imported in login.module.ts and if it is added to providers list. C# i...
Daj się poznać 2017 2820 dni, 6 godzin, 26 minut temu 31 źrodło rozwiń
I created few projects in my solution. I have models, services, tests and webApi project. I added LoginController which uses Services, but it uses it by interfaces. I need to use dependency injection to resolve it for me. I decided to add Autofac. It is IoC container which allow us to register all types and it’s implementations, to inject specific types for us. In the last year I wrote post how to add Autofac to ASP.NET MVC app, but post is in Polish and adding Autofac to .NET Core app is slighty differe...
Daj się poznać 2017 2826 dni, 22 godziny, 41 minut temu 82 źrodło rozwiń
Jest to kolejny post z serii 'Jak zrealizowałem|położyłem swój projekt' pisany przy okazji DSP2017, gdzie po kolei omawiam każdy aspekt projektu od specyfikacji wymagań, po finalny deploy. Tym razem omawiam architekturę swojego projektu.
Daj się poznać 2017 2827 dni, 23 godziny, 26 minut temu 197 źrodło rozwiń
In this post I want to show you how to create new database using Entity Framework Core – Code First migrations approach. I have project ELP.Model in which I defined few entities. I want to create database from it. It is approach called Code First.
Daj się poznać 2017 2834 dni, 2 godziny, 55 minut temu 59 źrodło rozwiń
In my project ELP I decided to start with core implementation of backend side. I started with service for sign in and register user accounts. I use TDD approach, so I create test with expected result that fails at the beginning and then I implement code to pass this test. I created MembershipService in my project that is responsible for creating accounts, validating, etc. This service uses other services like UserService for getting users from database or UserRoleService for getting user r...
Daj się poznać 2017 2836 dni, 54 minuty temu 83 źrodło rozwiń
What is Angular2 CLI? Angular2 CLI is Command Line Interface introduced by Angular team, to help us develop applications in Angular 2, through automate some operations and keep consistent project structure. You may think it’s a waste of time to learn another new thing, but I encourage you to use CLI, even if you are new to Angular. It’s even more helpful in this case, because with CLI your development will be faster and easier. Before we start make sure you have node.js installed on your machine. If...
Daj się poznać 2017 wtorek, 7 marca 2017 13:46:32 GMT 20 spam? źrodło rozwiń
Hello everyone. This is my first post in English on this blog. I decided to switch language and try to write in English for some reasons. I want to practice language skills and reach wider audience. This is my first post within Daj Się Poznać 2017 category or Get Noticed 2017. What is Daj Się Poznać/Get Noticed? For those who don’t know, it’s a contest organised by Maciej Aniserowicz and it’s about developing open source project and writing posts about struggling with it or enjoying it 😉 Yes, there are...
Daj się poznać 2017 2852 dni, 15 godzin, 22 minuty temu 24 źrodło rozwiń
IoC piękna rzecz, spójrzmy jak dodać kontener IoC Autofac do aplikacji ASP.NET MVC. W tym celu pobieramy NuGetem paczki Autofac i Autofac.Mvc5. Ponieważ jest to projekt MVC5, konieczna jest instalacja Autofac.Mvc5, dzięki temu będziemy mogli ustawić DependencyResolver na ten z Autofaca. Następnie musimy skonfigorować nasz kontener. Przechodzimy do klasy Global.asax.cs gdzie dodajemy metodę ConfigureContainer. C# private void ConfigureContainer() { var builder = new ContainerBuild...
Dziś temat iście akademicki, który może wydawać się banalny. Zauważyłem jednak, że programiści dyskutując o współbieżności często używają wymiennie terminu równoległości. Czy wobec tego są to pojęcia tożsame? Nie do końca. Oba te „twory” radzą sobie dobrze razem, jak i oddzielnie. Żeby jednak tematyka nie zrobiła się nazbyt poważna (tym samym niezrozumiała), omówmy przykład, który mam nadzieję trochę nam wszystkim rozjaśni w głowach. Wyobraźmy sobie, że naszym zadaniem jest zorganizowanie turnieju szacho...
Sztuka programowania 3111 dni, 21 godzin, 11 minut temu 271 źrodło rozwiń
W poprzednim wpisie przyjrzeliśmy się kontrolerom oraz ich akcjom, natomiast teraz rzucimy okiem na filtry, czyli atrybuty, które można zastosować zarówno dla każdej z akcji jak i dla całego kontrolera. Atrybuty definiują nam sposób wykonania określonych akcji. W ASP.NET MVC mamy do dyspozycji kilka typów filtrów akcji:Filtry autoryzacji – są wywoływane na samym początku, przed pozostałymi filtrami i akcją. Decydują o możliwości wykonania metody po wcześniejszej autentykacji lub walidacji właściwości d...
Daj się poznać 2016 3164 dni, 13 godzin, 30 minut temu 86 źrodło rozwiń
Lada dzień mija półtora miesiąca od rozpoczęcia konkursu Daj Się Poznać, a pierwsza jego połowa jest już za nami. Planowałem napisać i opublikować tego posta odrobinę wcześniej, by było to podsumowanie miesiąca, a nie półmetka konkursu, ale wolałem poczekać na zakończenie pewnego etapu w pracy nad własnym projektem. Nadszedł jednak ten dzień, kiedy trzeba usiąść i spokojnie przemyśleć sobie dokąd dotarłem i gdzie pójdę dalej? Czego się nauczyłem podczas pracy nad własnym projektem i co ciekawego wypatrzy...
Daj się poznać 2016 3169 dni, 1 godzinę, 24 minuty temu 101 źrodło rozwiń
CSRF czyli Cross-Site Request Forgery jest to w skrócie zmuszenie przeglądarki ofiary do wykonania nieautoryzowanej akcji (za pomocą żądania HTTP). Ofiarą jest zalogowany do serwisu użytkownik. Celem takiego ataku może być podmiana danych w formularzu lub też wykonanie innej akcji np. stworzenie konta użytkownika z uprawnieniami admina. Wypadałoby się przed tym zabezpieczyć tworząc aplikacje webową. Na szczęście mechanizm zabezpieczeń otrzymujemy w ASP.NET MVC out of the box Pokażmy to na przykładzie....
Daj się poznać 2016 3166 dni, 22 godziny, 7 minut temu 149 źrodło rozwiń
W tym wpisie przyjrzymy się kontrolerom w aplikacji ASP.NET MVC oraz akcjom, które mogą one zawierać. Kontrolery są odpowiedzialne za odpowiadanie na żądania użytkownika. Każde żądanie kierowane z przeglądarki jest obsługiwane przez określony kontroler. Przykładowo użytkownik klika przycisk odpowiadający za dodanie nowego wydarzenia, natomiast kontroler (EventsController) w odpowiedzi wyświetla odpowiedni widok. Akcja, która się w tym przypadku wykona jest zawarta w metodzie Create typu GET.C# // GET: Ev...
Daj się poznać 2016 3167 dni, 1 godzinę, 33 minuty temu 148 źrodło rozwiń
Różne badania dowiodły, że z wiekiem spada nasza sprawność umysłowa. Nie tylko więc się wolniej uczymy, ale również w życiu codziennym analiza niektórych sytuacji może nam zająć więcej czasu, co może mieć oczywiście przełożenie na naszą pracą. Będąc programistą, bardzo często jestem zmuszony do pracy na wysokich obrotach. Czasem trzeba szybko reagować, lub po prostu dobrze zanalizować problem, by uniknąć potencjalnych konsekwencji. Praca w IT wymaga również ciągłego rozwoju - wystarczy spojrzeć na ilość ...
W ostatnim wpisie poruszyłem tematykę IoC i w przykładowym kawałku kodu dla LocationRepo znajduje się metoda GetLocations zwracająca typ IQueryable. Zwróciła na to uwagę pewna osoba odwiedzająca bloga i słusznie. Stwierdziłem więc, że lepiej będzie rozpisać się krótko na ten temat niż edytować poprzedni wpis. No więc dlaczego zwracanie typu IQueryable
Daj się poznać 2016 3180 dni, 1 godzinę, 20 minut temu 347 źrodło rozwiń
Co to jest kontener IoC? IoC czyli Inversion of Control lub też odwrócenie zależności, brzmi bardzo ogólnie, ale co się pod tym kryje? Możemy tutaj zaliczyć wzorzec fabryki, service locatora (lub też antywzorzec), czy też dependency injection i na tym ostatnim się skupimy. Wzorzec ten może zostać zaimplementowany np. poprzez: constructor injection, property injection, jednak najbardziej sensowny jest ten pierwszy sposób. Polega on na wstrzyknięciu zależności poprzez konstruktor. Kontener IoC ma nam...
Daj się poznać 2016 3190 dni, 1 godzinę, 22 minuty temu 227 źrodło rozwiń
Implementacja INotifyPropertyChanged w aplikacjach wykorzystujących MVVM potrafi przysporzyć o niemały ból głowy. Redundantny kod, monotonia zapisu, rozwlekłe klasy, a wszystko to opatrzone niezliczoną ilością niepotrzebnego kodu. Wraz z ewolucją języka i rozwojem bibliotek starano się optymalizować użycie tego mechanizmu poprzez coraz to nowocześniejsze rozwiązania. Lambdy, refleksje, wykorzystanie atrybutu [CallerMemberName] z C# 5.0 – wszystko to jedna...
Daj się poznać 2016 3196 dni, 20 godzin, 37 minut temu 197 źrodło rozwiń
Korzystając z Entity Frameworka warto zwracać uwagę na sposób pobierania danych. W przypadku, gdy nie będziemy ich modyfikować, a chcemy jedynie pobrać dane tylko do odczytu, przydatna okaże się metoda AsNoTracking(). Wywołanie metody skutkuje brakiem śledzenia danych przez kontekst. Dzięki temu nie marnujemy niepotrzebnie zasobów. Przyjrzyjmy się poniższemu przykładowi, w którym porównamy pobieranie danych z i bez metody AsNoTracking(). Na początek pobieramy dane standardowo. W tym celu modyfikujemy...
Daj się poznać 2016 3196 dni, 20 godzin, 37 minut temu 269 źrodło rozwiń