如果有人有兴趣,结果在这里:
对于\ WEB-INF \ web.xml中
<filter id="Filter_1">
<filter-name>LoginFilter</filter-name>
<filter-class>com.myloginfilter.MyLoginFilter</filter-class>
<description>Performs pre-login operation</description>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/j_security_check</url-pattern>
</filter-mapping>
对于\ WEB-INF \类\ COM \ myloginfilter \ MyLoginFilter.class
public class MyLoginFilter implements Filter {
protected FilterConfig filterConfig;
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
public void destroy() {
this.filterConfig = null;
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws java.io.IOException, ServletException {
chain.doFilter(new MyRequestWrapper((HttpServletRequest) request), response);
}
public static class MyRequestWrapper extends HttpServletRequestWrapper {
public MyRequestWrapper(HttpServletRequest request) {
super(request);
}
@Override
public String getParameter(String name) {
String username= getRequest().getParameter("j_username");
if ("j_password".equals(name) && "admin".equals(username)) {
username = "administrator";
return username;
}
return super.getParameter(name);
}
}
}
要编译它,使用javac用命令:
javac -cp servlet-api-2.3.jar MyLoginFilter.class
您可以指向WAS 7.0信息中心的特定链接,而不是信息中心的默认主页?还有什么是这个复杂的要求,要求访问j_security_check。会使用一些JavaScript的帮助吗? – Manglu 2012-04-12 23:45:12
[编辑链接在这里。](http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.base.doc%2Finfo%2Faes%2Fae%2Ftsec_servlet .html) 糟糕。我去了他们的帮助页面,并从那里开始搜索。我已经如上编辑它。尽管我发现了一些语法错误,例如以结尾,这让我相信该页面的代码并不像看起来那么可靠,但我将此代码从此页面中删除。 –
2012-04-13 03:15:16
尽管存在HTTPS和SSL,但仍有一项不幸的要求,即要加密从客户端发送到服务器的密码。他们希望在AD中存储纯文本密码,同时保持通道和数据均已加密。我正在考虑尝试两种方法。第一种意思是我必须在客户端加密密码,将其发送到服务器,在与AD进行比较之前在服务器端解密它。另一种方法是散列密码客户端,将其发送到服务器,然后让服务器从AD中检索密码并在比较两者之前对其进行散列处理。 – 2012-04-13 03:25:50