关于SpringSecrity中principal的理解

在书上看到principal可以代表一个公司、一个用户或者一个id,这个要怎么理解,认证后这个不是代表一个认证信息么,代表一个公司这种说法看着有点奇怪

Principal对象是你自己定义的一个类,可以是一个公司,用户等等,你登录成功之后,你会new一个自己定义的Principal(类名不一定要叫这个名字),之后使用的时候,框架返回的是一个Object对象(它接收也是用Object接收),之后你自己强转下,就变成了你定义的Principal对象了。