请教两个关于j_security_check登录表单的问题

1.登录表单上含有附加码,我希望在验证数据被提交到j_security_check之前先做附加码验证,试着采用了FILTER来做,在WEB.XML中的有关语句如下:
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>cnscn.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/j_security_check</url-pattern>
</filter-mapping>
但经过测试,登录表单的验证数据根本没经过这个过滤器就直接被送到TOMCAT容器的j_security_check里去了。请问该如何解决这个问题?

2.当一个未授权的用户访问TOMCAT容器中的被保护资源时,容器会该资源的URL保存起来,返回给用户登录界面,如果用户登录验证成功,容器会自动将客户端浏览器重定向到最先那个被保护资源的URL。现在的问题是有些应用,比如在站点首页的某个角落放一个j_security_check的登录表单,用户不首先访问被保护的资源,而是直接在表单上填写用户名和密码,验证成功后再FORWARD到一个指定的页面。请问该如何实现?

望各位高手不吝赐教,谢谢!

不好意思,上文中的“WEB.XML中的有关语句”的XML标签被过滤掉了,应该是


<filter>
<filter-name>loginFilter</filter-name>
<filter-class>cnscn.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/j_security_check</url-pattern>
</filter-mapping>

还是自己做验证吧。如果非要用,那就写realm

我查了许多英文资料,那两个问题是不可克服的,是TOMCAT的设计缺陷,而且在TOMCAT的下一个版本中好象也没有迹象要修复那些缺陷 :(

tomcat的安全域所带来的好处跟麻烦一样多,他不能完全满足需要而且会束缚住你的手脚,比如验证通过但不具有权限时会出现一个错误页面。
我现在用自己实现的权限控制系统了,但tomcat安全域给我许多启发。