nullcy 2012-05-28
过滤器是Web中所特有的。Realm是Shiro架构本身的。
例如:表单验证过滤器,仅是判断是否是表单,而后调用Subject.login方法,如果成功就跳往成功页面,不成功,则跳回登录页。
在调用subject.login方法时,就应用到了Realm.如果将用户名密码写在ini文件中,则先调用的是iniRealm。
同理,logout过滤器,则仅是获取当前的subject,然后调用subject的logout方法。
可见,过滤器仅是方便于Web中一些常用安全路径的封装。像登录、退出等功能,也完全可以自己写一个Action等,进行处理。只是过滤器帮你完成而已。
且默认的Realm正是iniRealm