`
balaschen
  • 浏览: 192626 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Http基本明文验证

阅读更多
base64解码使用了novell的实现
java 代码
  1. /**  
  2.  * $Revision: 1.0 $  
  3.  * Created: 2007-6-13  
  4.  * $Date: 2007-6-13 $  
  5.  *   
  6.  * Author: Keven Chen  
  7.  */  
  8. package com.comwave.webui.core.web.filter;   
  9.   
  10. import java.io.IOException;   
  11. import java.util.StringTokenizer;   
  12.   
  13. import javax.servlet.Filter;   
  14. import javax.servlet.FilterChain;   
  15. import javax.servlet.FilterConfig;   
  16. import javax.servlet.ServletException;   
  17. import javax.servlet.ServletRequest;   
  18. import javax.servlet.ServletResponse;   
  19. import javax.servlet.http.HttpServletRequest;   
  20. import javax.servlet.http.HttpServletResponse;   
  21.   
  22. /**  
  23.  * @author Keven Chen  
  24.  * @version $Revision 1.0 $  
  25.  *  
  26.  */  
  27. public class AuthorizationFilter implements Filter {   
  28.   
  29.   
  30.     public void destroy() {   
  31.            
  32.     }   
  33.   
  34.     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)   
  35.             throws IOException, ServletException {   
  36.         HttpServletRequest hRequest = (HttpServletRequest) request;   
  37.         HttpServletResponse hResponse = (HttpServletResponse) response;   
  38.            
  39.         String authHeader = hRequest.getHeader("Authorization");   
  40.         if(authHeader!=null){   
  41.             StringTokenizer st = new StringTokenizer(authHeader);   
  42.             if (st.hasMoreTokens()) {   
  43.                 String basic = st.nextToken();   
  44.                 if (basic.equalsIgnoreCase("Basic")) {   
  45.                     String credentials = st.nextToken();   
  46.                     String userPass = new String(Base64.decode(credentials));   
  47.                     System.out.println(userPass);   
  48.                 }   
  49.             }   
  50.         }   
  51.         else{   
  52.             hResponse.setHeader("WWW-Authenticate","BASIC realm=\"comwave\"");   
  53.             hResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED);   
  54.         }   
  55.         //Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==   
  56.     }   
  57.   
  58.   
  59.     public void init(FilterConfig arg0) throws ServletException {   
  60.            
  61.     }   
  62.   
  63. }   
分享到:
评论

相关推荐

    Go-httpauth-Go的HTTP身份验证中间件

    - **基本身份验证**:`httpauth`支持HTTP基本认证,这是最简单的身份验证方式。你需要提供一个用户名和密码,中间件会将这些凭证与提供的凭证进行比较。 ```go auth := httpauth.SimpleBasicAuth("username", ...

    webService添加basic验证

    在了解具体的实现步骤之前,先来了解一下Basic验证的基本原理。Basic验证是一种HTTP标准验证方式,它将用户名和密码以明文形式发送到服务器端进行验证。尽管这种方式不如其他一些更高级的身份验证方法安全(比如...

    转载的简单的网络验证源码

    1. **HTTP身份验证**:基于HTTP协议的身份验证,包括基本认证(Basic Authentication)和摘要认证(Digest Authentication)。基本认证将用户名和密码以Base64编码的形式发送,而摘要认证则更安全,因为它不直接传输...

    basic-auth-django:Django中的HTTP基本身份验证实现

    在Django框架中,HTTP基本身份验证是一种常见的安全机制,用于保护Web应用的API或管理接口。本教程将深入探讨如何在Django项目中实现HTTP基本身份验证。 首先,了解HTTP基本身份验证的工作原理至关重要。它遵循HTTP...

    web服务验证信用卡

    首先,我们要理解信用卡验证的基本流程。这通常包括以下几个步骤: 1. **验证卡号**:使用Luhn算法或Mod 10算法检查卡号的校验位,确保卡号的正确性。 2. **验证有效期**:确认信用卡的有效期未过期。 3. **验证...

    网络身份验证收集.pdf

    - **基于IIS的基本身份验证**:这是最基础的HTTP身份验证,用户凭据以明文形式在网络中传输。 - **Windows集成身份验证**:与Windows操作系统紧密集成,利用NTLM或Kerberos协议进行验证,更安全。 - **摘要身份...

    登陆验证系统设计

    总结,设计和实现一个Java登录验证系统需要理解用户认证的基本原理,掌握数据库操作、密码加密、会话管理和错误处理等技能。同时,要时刻关注安全问题,确保系统在提供便利的同时,也能有效抵御潜在的威胁。

    JSP登陆验证 实现JSP用户名 密码 验证码验证登陆

    1. **JSP基本结构**: JSP页面由静态内容(HTML、CSS、JavaScript)和动态元素(Java代码)组成。在这个案例中,我们有login.jsp、loginresult.jsp这样的JSP文件,它们可能包含表单元素(如用户名和密码输入框)...

    python http基本验证方法

    Python 提供了多种方式来实现HTTP基本验证,本文将详细介绍其中两种方法:使用 `urllib2.HTTPBasicAuthHandler` 和手动构造带有认证信息的请求。 #### 一、HTTP基本验证简介 HTTP基本验证是HTTP协议中一种简单的...

    jsp+myeclipse登陆网页验证

    虽然JSP可以执行一些基本的脚本,但复杂的业务逻辑通常放在Servlet中处理。Servlet是Java Web应用的一部分,它可以接收并响应HTTP请求。在验证过程中,Servlet使用Java Database Connectivity (JDBC) API连接到MySQL...

    Linux账号实现Apache身份验证

    `AuthType Basic`指定了基本的HTTP身份验证类型,这是一种简单的明文密码认证方式。`AuthName`是向用户显示的认证对话框的标题。`AuthUserFile`指定了使用系统用户数据库文件`/etc/shadow`来验证用户身份。最后,`...

    Servlet实现登录验证

    首先,我们需要了解Servlet的基本生命周期。Servlet在首次接收到请求时被实例化,然后通过`init()`方法初始化。每次有新的请求到达,Servlet容器会调用`service()`方法,根据请求类型(GET、POST等)选择合适的`...

    自定义EditText_密码明文切换_点击清空输入框

    在Android开发中,自定义控件是提升用户体验和界面独特性的重要手段。本文将深入探讨如何自定义一个EditText,实现密码明文切换...在实际开发中,可以根据项目需求进一步定制,例如添加动画效果或者自定义验证规则。

    用jsp实现cookie登录验证

    在本文中,我们将深入探讨如何使用Java Server Pages (JSP) 实现基于Cookie的自动登录功能。这个过程涉及用户身份的持久化存储,以便在用户下次访问网站时...以上就是用jsp实现cookie登录验证的基本知识和实现流程。

    java实现登陆验证

    在Java编程中,实现登录验证是一项...以上知识点是构建一个Java登录验证系统所需的基本技能,实际项目中可能还会涉及更多,例如用户权限控制、验证码、多线程、日志记录等。不断学习和实践,才能更好地掌握这些技术。

    ANDROID中使用WEBSERVICE验证用户登录的示例

    以上就是Android中使用WebService验证用户登录的基本流程和技术要点,实际开发中还需要结合项目需求和具体情况进行调整优化。通过这个示例,开发者可以了解如何构建一个完整的用户登录验证系统,为Android应用提供...

    webapi摘要身份验证demo

    2. **摘要身份验证(Digest Authentication)**:这是一种加强的基本身份验证方式,避免了基本认证中的明文密码传输问题。摘要认证在服务器发送一个随机的nonce(一次性密码)给客户端,客户端使用这个nonce、用户名...

    RESTEasy身份验证

    本篇文章将详细介绍RESTEasy中如何实现身份验证,特别是重点讨论基本和摘要身份验证以及OAuth支持。 ### 基本和摘要身份验证 基本身份验证是一种简单的HTTP身份验证方法,其中用户名和密码以Base64编码的形式包含...

    QQ账号密码验证PHP

    2. **服务器接收**:PHP脚本接收到这些数据,并通常会先进行一些基本的验证,如检查账号和密码是否为空,或者长度是否符合规定。 3. **数据验证**:然后,PHP会尝试与存储的用户信息进行匹配。这通常涉及到从数据库...

Global site tag (gtag.js) - Google Analytics