Wednesday, April 23, 2025

Authentication and Authorization:

What is Authentication? 
 Authentication is the process of verifying who the user is. 
 - In ASP.NET MVC, authentication means checking if the user is logged in or not. 
 - It ensures that the user is genuine and valid. 
 - Common methods: Forms Authentication, Windows Authentication, OAuth, etc. 
 Example: When a user logs in using a username and password, the application verifies those credentials — this is authentication. 
 ---------------------------------------------------------------------------------------------------------------------------
 What is Authorization? 
 Authorization is the process of checking what the authenticated user is allowed to do. 
 - It decides what resources or actions the user can access. 
 - In MVC, we use [Authorize] attribute to restrict access to certain actions or controllers. 
 Example: After login, if only Admins can access the "Admin Panel", that check is done using authorization. 
 ----------------------------------------------------------------------------------------------------------------------------
 Simple Difference:
 | Feature                       | Authentication                        | Authorization 
-------------------------- --|--------------------------------- --|--------------------------------- 
 Meaning                       | Who are you?                         | What can you do?  
Comes First                   | Yes                                         | After authentication  
Purpose                          |Verify identity                        | Grant access       
ASP.NET MVC Tool     | FormsAuth, Identity, OAuth | [Authorize], Roles, Policies  

 --- Bonus Tip for Interview: > “Authentication checks identity, Authorization checks permissions. You must  authenticate first, then authorize.”