我需要修改登录表单上的用户名,然后才能将其传递给ldap进行身份验证。应用程序是基于struts的。我需要从列表中删除一些字符 j_username
在将其传递到ldap之前。在struts中使用javascript或编写过滤器或拦截器的最佳方式是什么?我们可以在它进入前发出登录请求来过滤吗 j_security_check
?
详情如下: login.jsp
:
<form name="loginForm" method="POST" action='<%= response.encodeURL("j_security_check") %>'>
<table>
<tr><td>User Name</td><td><input type="text" name="j_username" size="10" maxlength="30"></td></tr>
<tr><td>Password</td><td><input type="password" name="j_password" size="10" maxlength="30"></td></tr>
<tr><td> </td><td><input type="submit" value="Login" name="j_security_check"></td></td></tr>
</table>
</form>
``` `web.xml` :
1条答案
按热度按时间kxe2p93d1#
形式动作
j_security_check
在调用任何筛选器之前由服务器处理。所以你不能在struts 2中截取它。如果需要修改请求传递的某些参数,可以将表单操作设置为struts操作。调用struts操作后,您将在
ActionContext
. 您可以编写自定义拦截器并将其添加到操作配置中。拦截器可以返回一个结果以重定向到
j_security_check
使用已修改的参数。