关于shiro getPrincipal方法的小说明
- 本机ip :192.168.8.6
- springboot项目在本机Eclipse上运行
- 客户端使用本机postman访问
- 服务端接口代码
登录代码(略),保证可以成功登录,以下为测试获取shiro的principal的代码。
@RestController
@RequestMapping("/test")
public class CsLoginBussinessTestController {
@Autowired
CsLoginBussinessTestService csLoginBussinessTestService;
@PostMapping("/login")
public String loginSessionTest(@RequestBody String p) {
Doctor doctor = (Doctor) SecurityUtils.getSubject().getPrincipal();
System.out.println("===============================p="+p);
return "Yep!, p="+p;
}
}
2、验证是否能够获取到登录后的principal, 正常应该是能够获取到的
postman发送请求: 服务器端断点接收查看:
登录的地址使用的是localhost,而获取principal的接口使用的是127.0.0.1, 两者不一致;同理,将127.0.0.1改成本机ip 192.168.8.6也是同样的结果。
- 解决
将两者改成一致的,统一是localhost或者127.0.0.1或者192.168.8.6
如上图已获取到principal。
|