shrio 认证过程中的SimpleAuthenticationInfo第一个参数有什么用

SimpleAuthenticationInfo(userState, pwd, getName());
就是这个principal 我看有的是直接写username 有的是写一个对象 这个在框架密码比对的时候起作用吗?
前面不是都根据用户名获取数据库指定的那个密码了吗 那这里为什么还要写这个principal

principal是角色,可以有多个

没有大神回答这个问题吗?

第一个可以放置用户对象信息,同时可以通过securityutis.getsubject().getprincipal();取出

前面写doGet那个方法会用到后面这个,强制转换类型要跟第一个参数类型一样不然会报错