【发布时间】:2021-09-11 17:16:53
【问题描述】:
我需要修改登录表单上的用户名,然后才能将其传递到 LDAP 进行身份验证。
应用程序是基于struts的。在将 j_username 传递给 LDAP 之前,我需要删除一些字符。最好的方法是什么,javascript 或在 Struts 中编写过滤器或拦截器?我们可以在发送到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:
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Form-Based Authentication Area</realm-name>
<form-login-config>
<!-- form-login-page>/login.jsp</form-login-page -->
<form-login-page>/WEB-INF/login.jsp</form-login-page>
<form-error-page>/WEB-INF/login.jsp?result=false</form-error-page>
</form-login-config>
</login-config>
context.xml:
<Realm className="org.apache.catalina.realm.JNDIRealm"
allRolesMode="authOnly"
connectionURL="ldap://localhost:9002"
connectionName="CN..."
connectionPassword=""
userPattern="--"/>
【问题讨论】:
标签: tomcat struts2 interceptor jaas j-security-check