`
iqeq00
  • 浏览: 61538 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

http认证-Basic认证

阅读更多

 

http认证- Basic 认证

最近项目上用到http认真过的basic认证。所以遇到这个问题,做事情心情不可急躁,最开始急于求成,真的是郁闷了下,呵呵。本文主要讲如何在tomcat中配置Basic认证以及工作流程。

1.   项目配置

      本测试环境采用的是Java web环境,其他项目环境暂未测试。

      a)    web.xml

 

<security-constraint>
     <web-resource-collection>
          <web-resource-name>
               Jiuzhai Application
          </web-resource-name>
          <url-pattern>/*</url-pattern>
     </web-resource-collection>
     <auth-constraint>
          <role-name>admin</role-name>
     </auth-constraint>
</security-constraint>
<login-config>
     <auth-method>BASIC</auth-method>
     <realm-name>My jiuzhai</realm-name>
</login-config>

   注意这里的<role-name>admin</role-name >标签,这个就是web项目允许的名称,

   需要与后面的Tomcat的用户信息相对应。

 

2.   Tomcat配置

      本文的测试环境是Tomcat-6.0.35,其他版本暂未测试。

      a)    tomcat-users.xml

             到Tomcat环境的conf目录下找到tomcat-users.xml文件。

<tomcat-users>
     <role rolename="tomcat"/>
     <role rolename="role1"/>
     <role rolename="manager"/>
     <role rolename="admin"/>
     <user username="admin" password="admin" roles="admin,manager"/>
     <user username="tomcat" password="tomcat" roles="tomcat"/>
     <user username="both" password="tomcat" roles="tomcat,role1"/>
     <user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>

      b)   特别注意

             这里配置的tomcat用户,必须有1个和上面web.xml配置的相同,不然会报403的错误。

 

3.   客户端访问

      访问http://127.0.0.1:8080/lynch/admin/adminList.jsp 

      会弹出对话框提示认证,输入admin admin 可以登录。

 

4.    工作流程(通过firebug可以查看请求头)

       a)    工作流程(通过firebug可以查看请求头)

       b)    服务器发一个401返回,并含有下面的头

              WWW-Authenticate   Basic realm="My jiuzhai"



 

       c)    客户端认证,含有下面的头

              Authorization     Basic dGVzdDp0ZXN0

YWRtaW46YWRtaW4=”是"admin:admin"的Base64编码。

            (可以通过php函数base64_encode()验证)

 

5.     缺点

        密码明文传输,非常不安全。

6.     其他方式

        可以用httpclient来的实现,有兴趣的朋友,可自己查阅相关文档。

7.     参考文档

        http://robblog.iteye.com/blog/554450

 

 

  • 大小: 20.8 KB
  • 大小: 50.6 KB
  • 大小: 57 KB
分享到:
评论

相关推荐

    elasticsearch-http-basic-1.5.1.jar

    es安全认证工具 es安全认证工具

    前端开源库-express-basic-auth

    "express-basic-auth"是这样一个中间件,它实现了HTTP基本认证(Basic Authentication),一种简单的身份验证方案。本文将详细介绍Express基本认证中间件的工作原理、安装、配置以及实际应用。 ### 一、HTTP基本...

    第三节 暴力破解 - HTTP Basic认证-01

    第三节 暴力破解 - HTTP Basic认证-01

    前端开源库-lws-basic-auth

    4. **API集成**:对于API接口的保护,`lws-basic-auth`可能提供API级别的认证,确保只有经过验证的请求才能到达服务器。 在实际应用中,开发者需要考虑以下几点安全实践: - **HTTPS**:即使使用了基本身份验证,...

    Laravel开发-laravel-basic-project

    - **Authenticating API Tokens**: 提供了更好的支持用于API认证,通过` Sanctum `库实现。 - **Vue.js 2.5**: Laravel 5.6默认集成Vue.js 2.5版本,增强了前端开发体验。 - **Scheduling Improvements**: 调度任务...

    http-basic-security eureka-server .rar

    // 启用HTTP Basic认证 } @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("admin") // 设置用户名 .password("{...

    http-server-basicauth-ssl:用于nodejs的Http服务器,包括Https和basicAuth

    http-server-basicauth-ssl:命令行http服务器 http-server-basicauth-ssl是基于以下内容的简单,零配置命令行安全化Http服务器: HTTP服务器 基本认证 SSL协议 主要目的是拥有与http-server相同的有用工具,但具有...

    spring-android-basic-auth.zip_android_spring_spring auth_spring-

    2. 示例代码:可能有实现了Basic Authentication逻辑的类,比如`AuthenticationFilter`,用于处理HTTP请求的认证。 3. 配置文件:如`build.gradle`用于构建设置,以及Spring Security的配置文件,如`security-config...

    RestTemplate如何通过HTTP Basic Auth认证.docx

    HTTP Basic Authentication 是一种简单的身份验证机制,它要求客户端在每个请求中都包含一个认证头(Authorization)。在 Basic Auth 中,用户名和密码被组合成一个字符串(例如 "admin:admin"),然后使用 Base64 ...

    http basic authentication通过post方式访问api示例分享 basic认证示例

    HTTP基本认证(Basic Authentication)是HTTP协议中一种简单的身份验证机制。它要求用户在访问受保护资源时提供用户名和密码。这种认证方式是基于HTTP头部的,通过将用户名和密码编码为Base64字符串并将其放入`...

    Laravel开发-basic-auth-enforcement

    "Basic-Auth-Enforcement" 是这个过程的核心,它通过 HTTP 的 Basic 认证头进行用户身份验证。下面我们将详细探讨如何在 Laravel 5 中使用中间件强制执行基本身份验证。 1. **中间件的概念** 中间件在 Laravel 中...

    cccctyl-java-basic-notes-master_java_

    此外,描述中的“安全模块”可能涵盖了如认证(Authentication)、授权(Authorization)、加密(Cryptography)以及异常处理等方面,这些都是构建安全应用程序的基础。 "启动服务后无需添加任何后端代码前端便可以...

    docker-nginx-basic-auth:用于基本身份验证的简单Docker映像

    docker run -d -p 80:80 --link web:web --name auth beevelop/nginx-basic-auth 尝试使用用户名foo和password bar访问和登录。 先进的 docker run -d \ -e HTPASSWD= ' foo:$apr1$odHl5EJN$KbxMfo86Qdve2FH4owePn...

    ring-basic-authentication:强制执行基本身份验证的环形中间件

    Ring-Basic-Authentication是针对Clojure Web开发框架Ring的一个中间件,它允许开发者在Web应用程序中实现基本的HTTP身份验证机制。这个中间件是基于HTTP协议的“Basic Authentication”规范,该规范要求用户在访问...

    acegi basic认证具体demo

    在本Demo中,我们将深入探讨如何使用Acegi实现Basic认证,这是一种常见的HTTP身份验证方法,适用于简单的应用场景。 Basic认证是一种客户端-服务器认证方式,用户凭据(用户名和密码)以Base64编码的形式包含在请求...

    flask-basicauth:Flask的HTTP基本访问身份验证

    在本文中,我们将深入探讨HTTP基本认证的工作原理以及如何在Flask应用中使用Flask-BasicAuth。 **HTTP基本访问身份验证工作原理** HTTP基本访问认证基于HTTP协议,通过在HTTP请求头中添加一个特殊的`Authorization...

    Portal-Basic-Java-Web.rar_java web

    【标题】"Portal-Basic Java Web" 是一个关于Java Web应用开发框架的资源包,它主要面向的是希望深入了解和实践Java Web技术的开发者。在Java Web领域,开发框架是构建高效、可维护的Web应用程序的关键工具,它们为...

    spring-boot-basic-auth:使用基本身份验证的安全Spring Boot REST API

    基本身份验证是一种HTTP认证机制,其中客户端(通常是Web浏览器或API客户端)通过在HTTP头中附带一个Base64编码的用户名和密码对来向服务器提供凭据。这种认证方式简单但不安全,因为凭据在网络中明文传输,因此通常...

    aceig构建基于数据库的用户信息认证Http Basic认证(2)

    本篇将深入探讨如何利用Acegi Security实现基于数据库的用户信息认证,以及Http Basic认证。 Http Basic认证是一种常见的身份验证机制,广泛应用于Web服务。该机制遵循HTTP协议标准,通过Base64编码用户凭证...

    yii2-basic-2.0.43.zip

    6. **安全特性**:Yii2 内置了防止SQL注入、跨站脚本攻击(XSS)等的安全机制,还提供了用户认证和授权功能,确保应用安全。 7. **模板引擎**:Yii2 的视图部分使用了强大的模板引擎,可以轻松创建复杂的HTML布局和...

Global site tag (gtag.js) - Google Analytics