A step-by-step guide for user authentication in your ASP.Net Core Web Apps

Authenticating a user is one of the basic and most widely implemented use cases for web applications. In this article, I’ll be taking you through all the code-level details involved in implementing user authentication based on username and password in your ASP.Net Core applications. By the end of this article, we’ll have a full-fledged implementation of user authentication in place.

Before we start, let’s first define what authentication is and what features we’ll need to implement as a part of it.

Authentication in layman’s terms — It is the process of validating that the users are who they claim to…

It’s not only about coding & technical skills

Photo by Austin Distel on Unsplash

Three years back, I first stepped into the corporate world with tons of assumptions and expectations about how things would look like. Little did I knew how wrong I was about to be proved. The actual experience throughout all these years is not even close to what I expected it to be. However, when things don’t go as per your expectations, you end up learning and growing.

Here are my top 5 learnings from the last three years working as an entry-level software engineer —

#1 — It’s not only about coding

This was the first and the most important thing I realized right after stepping into…

Do it to become a better software engineer.

Photo by Max Duzij on Unsplash

When I first started with competitive programming, three years back, I didn’t quite like the idea of using my programming skills to solve random problems that didn’t have any impact on anyone. Back then, I was in the third year of my Bachelor’s program and like most of the students, found competitive programming to be quite intimidating and not worth the time. However, what enticed me to take it up and keep going was the myriad of opportunities that it possessed and, of course, a bit of happiness that followed after successfully solving a problem.

Eighteen months later, I finally…

What is system maintainability and why it’s crucial?

Photo by Ross Findon on Unsplash

None of us is perfect, we evolve, adapt, and improve; the same goes with our software systems. No matter how meticulously they’re designed and built, they’ll never be perfect. This is why you keep getting regular updates for your favorite app. This is why well-established software companies keep hiring engineers. This is why the software industry pays you.

We can never make perfect software systems but what we can do, and we should do, is to design and build software systems in a way that allows them to evolve, adapt, and improve over-time. …

Is your system reliable?

Photo by Jared Brashier on Unsplash

When things go wrong or when times are bad, you count on someone or something reliable i.e., someone or something that helps you cope up with bad times. In the context of a software system, the word ‘reliable’ is no different. The things that can go wrong are called faults, and systems that anticipate faults and can cope with them are called fault-tolerant or resilient systems. In the event of a fault, our systems will rely on the fault-tolerant mechanisms that we’ve considered and implemented; hence, designing our systems in a fault-tolerant or resilient way is of paramount importance.


Photo by Keith Chan on Unsplash

Ever wondered how applications such as Facebook, Instagram, WhatsApp, Netflix, etc. seamlessly serve billions of users on their platform every day? No matter how good these applications look, in the end, it all boils down to the underlying hardware on a machine for processing a user’s request, be it simply sending a message or just scrolling through the timeline. Unsurprisingly, the hardware will always be limited on any given machine; thus, at any given time, a software system can serve only a limited amount of user requests beyond which it will eventually slow down or even crash. So, what’s the…

Faisal Sheikh

Software Engineer | Curious Mind

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store