![]() |
VOOZH | about |
Two fundamental ideas in system design, particularly in low-level design (LLD), are authentication and authorization.
Ensuring that only authorized individuals or entities have access to particular resources, functionality, or information is an essential component of security.
Aspect | Authentication | Authorization |
|---|---|---|
Definition | Verifies the user's identity. | Determines the user's access to resources or actions. |
Focus | "Who are you?" | "What are you allowed to do?" |
Process | Typically involves usernames, passwords, or biometrics. | Involves checking permissions or roles assigned to the user. |
Order | Happens before Authorization. | Happens after Authentication. |
Scope | Ensures the user is genuine. | Ensures the user has access rights. |
Implementation | Login pages, OTP, fingerprint scans. | Role-based access control (RBAC), policy checks. |
Example | Entering a password to log into an account. | Checking if the logged-in user can view or edit a file. |
Security Purpose | Protects against unauthorized user access. | Protects against unauthorized actions by authenticated users. |