南通制作手机网站外贸seo优化公司
2026/4/21 8:30:09 网站建设 项目流程
南通制作手机网站,外贸seo优化公司,怎么做虚拟币网站,注册公司有什么风险吗Authentication 对象是身份认证体系中的核心对象#xff0c;主要用于封装用户的身份信息、认证状态、权限凭证 等核心数据#xff0c;是判断 “当前访问者是谁、是否合法、拥有哪些权限” 的核心载体。 封装认证核心信息 「谁」在访问系统#xff1f;#xff08;用户唯一标…Authentication对象是身份认证体系中的核心对象主要用于封装用户的身份信息、认证状态、权限凭证等核心数据是判断 “当前访问者是谁、是否合法、拥有哪些权限” 的核心载体。封装认证核心信息「谁」在访问系统用户唯一标识如用户名、用户 ID「凭什么」访问凭证如密码、Token、证书、第三方授权码「能做什么」权限 / 角色如ROLE_ADMIN、PERMISSION_EDIT标识认证状态区分 “已认证” 和 “未认证”未认证isAuthenticated() false如游客访问已认证isAuthenticated() true如登录后的用户。作为权限控制的依据框架或业务代码通过Authentication对象获取用户权限判断是否允许访问某个接口 / 资源如hasRole(ADMIN)本质是校验该对象中的权限集合。贯穿认证流程从 “用户提交凭证” 到 “认证通过”Authentication是流程的核心传递对象认证前构建「未认证」的Authentication如封装用户名 密码认证中认证管理器AuthenticationManager校验凭证通过后生成「已认证」的Authentication认证后存储在安全上下文SecurityContext中供全链路控制器、服务层、过滤器获取。常见实现类不同认证场景对应不同的Authentication实现实现类适用场景UsernamePasswordAuthenticationToken用户名 密码登录最常用JwtAuthenticationToken扩展JWT Token 认证OAuth2AuthenticationTokenOAuth2 第三方登录如微信、GitHubAnonymousAuthenticationToken匿名用户未登录访问获取当前登录用户的AuthenticationAuthentication authentication SecurityContextHolder.getContext().getAuthentication();获取用户名String userName authentication.getName();获取用户权限Collection? extends GrantedAuthority authorities authentication.getAuthenorites();获取用户详情UserDetails userDetails (UserDetails)authentication.getPrincipal();自定义认证的时候构建未认证的对象封装用户的账号密码Authentication unauthenticated new UsernamePasswordAuthenticationToken(username,password);交给认证管理器校验返回已认证的authenticationAuthentication authenticated authenticationManager.authenticate(unauthenticated);存入安全上下文完成登录SecurityContextHolder.getContext().setAuthentication(authenticated);

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询