Shiro调试记录

看了几天源码,把shiro配置好后,原本想通过打几个断点,理清下shiro的执行流程。 最主要是想看看自定义 realm等是何时被回调的。 

配置如下:  /** : authc          loginUrl: login

authc 对应的shiro默认过滤器为

FormAuthenticationFilter

问题如下:

始终无法执行到 自定义 realm所在处: 原因是 请求方法不是 post(后续得知)。

     其实,这种情况通过调试是很难发现原因的。因为如果我们不是对shiro特别熟悉,调试中的分支那么多,我们很难知道哪条分支是通向realm认证的。

解决方法:

  shiro的认证一定是需要过滤器提供token的,通过FormAuthenticationFilter的 createToken()方法,进行find usage反向查找 直到 自己在调试中见过的方法为止,然后打个断点,分析为什么没走这条路径。 

  临时写个草稿,感觉是个调试思路,供参考。

 

原文地址:https://www.cnblogs.com/yzw-daemon/p/13821300.html