为了账号安全,请及时绑定邮箱和手机立即绑定

如何实例化 java.security.Principal?所有子类都已弃用

如何实例化 java.security.Principal?所有子类都已弃用

翻过高山走不出你 2022-10-12 10:12:59
我有一个接受 Principal 的 Spring API 服务。public ResponseEntity<ApiCustomResponse> create(Principal principal, UrlInfoData urlinfo) throws ApiException;Principal 由 Spring 自动为 OAuth2 API 调用创建。我想为网页管理界面使用相同的服务。@Autowiredprivate IShortUrlService apiService;...    Principal principal = new Principal();    apiService.create(principal, urlinfo);我想用当前登录的管理员用户名实例化委托人。但是,所有实例化类都已弃用。如何实例化 Principal 以传递给服务?https://docs.oracle.com/javase/8/docs/api/java/security/Principal.html
查看完整描述

1 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

既然java.security.Principal是接口,为什么不实现呢?


Principal principal = new Principal() {


        @Override

        public String getName() {

            return adminName;

        }


    }

apiService.create(principal, urlinfo);

此外,您可以通过以下方式获取当前登录用户的 Principal:SecurityContextHolder.getContext().getAuthentication().getPrincipal()


查看完整回答
反对 回复 2022-10-12
  • 1 回答
  • 0 关注
  • 171 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号