但只有第三种方法有效
认证 (Authentication)
凭证
- username, passwd
- telephone, validateCode
- email,validateCode
校验(AuthenticationProvider)
确认凭证是否有效
授权 (Authorization)
认证通过后赋予给用户的的权限集合
访问控制 (Access Control)
根据用户权限和请求上下文, 判定资源能否被当前用户访问.
简单的安全模块
// 请求上文
context = AuthContext(request)
// 获取所有的认证 Token
List<Token> tokens = parseToken(context)
// 获取认证成功的用户
List<User> authenticatedUsers = doAuth(tokens)
// 判定权限
boolean access = decide(context, authenticatedUsers)