base64解码使用了novell的实现
java 代码
- /**
- * $Revision: 1.0 $
- * Created: 2007-6-13
- * $Date: 2007-6-13 $
- *
- * Author: Keven Chen
- */
- package com.comwave.webui.core.web.filter;
- import java.io.IOException;
- import java.util.StringTokenizer;
- import javax.servlet.Filter;
- import javax.servlet.FilterChain;
- import javax.servlet.FilterConfig;
- import javax.servlet.ServletException;
- import javax.servlet.ServletRequest;
- import javax.servlet.ServletResponse;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- * @author Keven Chen
- * @version $Revision 1.0 $
- *
- */
- public class AuthorizationFilter implements Filter {
- public void destroy() {
- }
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
- throws IOException, ServletException {
- HttpServletRequest hRequest = (HttpServletRequest) request;
- HttpServletResponse hResponse = (HttpServletResponse) response;
- String authHeader = hRequest.getHeader("Authorization");
- if(authHeader!=null){
- StringTokenizer st = new StringTokenizer(authHeader);
- if (st.hasMoreTokens()) {
- String basic = st.nextToken();
- if (basic.equalsIgnoreCase("Basic")) {
- String credentials = st.nextToken();
- String userPass = new String(Base64.decode(credentials));
- System.out.println(userPass);
- }
- }
- }
- else{
- hResponse.setHeader("WWW-Authenticate","BASIC realm=\"comwave\"");
- hResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
- }
- //Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
- }
- public void init(FilterConfig arg0) throws ServletException {
- }
- }