保证应用的安全是软件开发的最基本要求。作为开发者,应该从软件层面来保证应用的安全,这可以通过认证、授权来实现。
认证 与 授权 的区别
认证(Authentication, 缩写:authn):用来验证某个用户是否具有访问系统的权限。如果认证通过,该用户就可以访问系统,从而创建、修改、删除、查询平台支持的资源。
授权(Authorization, 缩写:authz):用来验证某个用户是否具有访问某个资源的权限。如果授权通过,该用户就能对资源做 CRUD 等操作。
认证 证明了你是谁,授权 决定了你能做什么。
认证方式
常见的认证方式有四种:
- Basic
- Digest
- OAuth
- Bearer