问题1.多用户登录时redis中sessionId只有一个的问题
shiro中的session是通过shiro的subject对象的getsessio()进行获取的,postman测试时,第二个登录请求会使用现有的第一个用户的cookie,所以请求在后台服务器被识别为第一个用户重新登录,导致使用了同一个session,而没有创建新的session。
问题2:多用户登录测试时只有一个授权信息
浏览器的授权信息是在登录认证时通过登录认证的:
SimpleAuthenticationInfo info =
new SimpleAuthenticationInfo(username,password,username+"."+getName());
建立,第三个参数表示你所新建立的用户的授权信息缓存的当前对象,直接使用getName()会导致每次创建的授权信息都是同一个,具体源码还未查询,但通过登录测试来看,应该是有就直接获取同一个,没有就新建,所以每个用户的授权信息要区分开,头一次使用shiro,因为用户名辨识度高且唯一,我使用用户名拼接以此区分每个用户的授权信息。