如果有人有興趣,結果在這裏:
對於\ 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