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 2776 dni, 2 godziny, 28 minut 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 2778 dni, 4 godziny, 22 minuty 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 2789 dni, 10 godzin, 31 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 2796 dni, 2 godziny, 47 minut temu 82 ź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 2803 dni, 7 godzin 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 2805 dni, 4 godziny, 59 minut 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 2821 dni, 19 godzin, 27 minut 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...
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 3133 dni, 17 godzin, 36 minut temu 86 ź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 3136 dni, 2 godziny, 13 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 3136 dni, 5 godzin, 39 minut temu 148 źrodło rozwiń
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 3149 dni, 5 godzin, 25 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 3159 dni, 5 godzin, 27 minut temu 227 ź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 3166 dni, 43 minuty temu 269 źrodło rozwiń
Entity Framework to kolejna generacja technologii firmy Microsoft, która zapewnia dostęp do danych. Jest to rozszerzona technologia ORM (ang. Object Rational Mapping), która ułatwia powiązanie danych w bazie danych z obiektami w aplikacji, poprzez stworzenie abstrakcyjnych modeli obiektowych w aplikacji z modeli relacyjnych lub logicznych. Dzięki temu możliwe jest tworzenie zapytań i manipulowanie danymi używając programowania zorientowanego obiektowo. Używając Entity Framework możliwe są trzy podejści...
Daj się poznać 2016 3177 dni, 15 godzin, 56 minut temu 166 źrodło rozwiń