`
hudeyong926
  • 浏览: 2032805 次
  • 来自: 武汉
社区版块
存档分类
最新评论

http auth basic认证保护后台admin

 
阅读更多

一个web站点,总会有一些资源需要保护,比如图片文件、某些页面等,使用basic认证简单方便,易于配置,且完全独立于开发。basic认证既可以在web容器上,也可以放到前端服务器上需要对后台地址admin进行保护,可以使用http auth basic,既方便又简单

resin配置
basic的resin配置需要在web项目的描述文件web.xml中,通过添加如下内容,可以对指定路径的资源进行保护,所有对指定资源的访问,都需要输入配置的用户名与密码,验证通过后才可以正常访问

<authenticator type="com.caucho.server.security.XmlAuthenticator">
    <init>
    <user>user:pass:admin</user>
    <password-digest>none</password-digest>
    </init>
</authenticator>
<login-config auth-method="basic" />
<security-constraint url-pattern="/admin/**" role-name="admin" />

上面的配置代表当用户访问以yourapp/admin/开头的所有资源时,都需要通过basic认证(如果之前还没有通过的话),用户名是user,密码是pass。有时候需要保护的资源不止一项,那么可以用如下的方法配置。

<authenticator type="com.caucho.server.security.XmlAuthenticator">
    <init>
    <user>user:pass:admin</user>
    <password-digest>none</password-digest>
    </init>
</authenticator>
<login-config auth-method="basic" />
<security-constraint>  
    <web-resource-collection>  
    <web-resource-name>Protected Context</web-resource-name>  
        <url-pattern>/admin/**</url-pattern>     
        <url-pattern>/manage/**</url-pattern>
    </web-resource-collection>  
    <auth-constraint role-name='admin' />   
</security-constraint>

此时所有以yourapp/admin/或者yourapp/manage/开头的资源都需要经过basic认证。

 

nginx配置
虽然resin的配置也可以达到效果,但是毕竟是配置到了工程文件中,以后定期更换用户名与密码,都得更新项目描述符;而且有个更要命的问题,如果一个resin上有多个项目的话,一次更新就需要修改所有相关项目的web.xml文件,太麻烦了。在nginx上也可以配置basic认证,而且更简单。

nginx的http basic认证密码是用crypt(3)加密的,可以试用apache的htpasswd生成密码文件。首先进入apache的安装目录,进入apache/bin/目录下,可以看到htpasswd,输入如下命令生成密码文件。

htpasswd -c -d pass_file user_name

其中-c表示生成文件,-d表示是以crypt加密,pass_file是密码文件名,user_name表示basic认证的用户名,回车后会提示输入密码,然后再次输入确认,生成密码文件完成。

然后就是配置nginx,nginx的认证需要配置到location下,如下所示。

location ~ /admin/manage {
    auth_basic  "Auth";
    auth_basic_user_file  pass_file;
}

其中Auth可以随意设置,它只不过是当需要认证时弹出窗口的服务显示名称而已,pass_file就是我们之前生成的密码文件,这里要注意nginx 0.6.7开始,auth_basic_user_file的相对目录是nginx_home/conf,以前版本的相对目录是nginx_home,现 在只要访问包含/admin/manage路径的资源都会弹出认证框,而且对于一个nginx代理了n个web服务的情况,需要更换用户名与密码时,只需 要将密码文件替换一次即可,比第一种方式方便可靠了很多。


apache 配置 在httpd.conf写入
vi httpd.conf

<Directory "/data/www/mrtg">
    AuthType Basic                #注意一点,Basic认证方法并不加密来自用户浏览器的密码
    AuthName "mrtg access"
    AuthUserFile /data/apache2/passwd/htpasswd    #密码文件,也就是htpasswd建立的文件
    Options Indexes FollowSymLinks
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all
    Require valid-user
</Directory>

 执行命令建立密码文件

htpasswd -c /data/apache2/passwd/htpasswd username
  • 大小: 28.8 KB
分享到:
评论

相关推荐

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

    String url = "http://www.httpbin.org/basic-auth/admin/adminpwd"; // 创建并设置认证头 HttpHeaders headers = new HttpHeaders(); headers.set("Authorization", "Basic " + Base64.getEncoder()....

    Basic Auth认证get请求的java代码片段

    通过base64加密方式将用户名和密码进行封装,生成basic auth的认证信息,再将该信息塞进请求头里,最后通过认证进行get请求。

    BasicAuth的Java服务端实现

    **标题解析:** "BasicAuth的Java服务端实现" 指的是使用Java语言在服务端实现HTTP的基本认证(Basic Authentication)机制。这种认证方式是HTTP协议标准的一部分,用于在网络服务器上验证用户身份。 **基本认证...

    基于Java的Tracer开发架构设计与源码实现,融合Auth认证服务器与admin后台业务系统

    本项目是一款基于Java的Tracer开发架构,整合了Auth认证服务器与admin后台业务系统。整个项目包含940个文件,涉及Java、XML、Less、JavaScript、CSS等多种编程语言,文件类型丰富多样。其中,Java源文件占比最高,...

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

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

    nginx http auth basic生成密钥文件

    使用方式:./htpasswd.py -c -b 生成文件名 用户名 密码,需要修改为可执行权限,chmod 777 htpasswd.py

    2.CXF安全访问之Http Basic Auth(一)

    本文将深入探讨CXF安全访问的一个重要方面:HTTP基本认证(Http Basic Auth)。这是一种简单但有效的身份验证机制,适用于对Web服务进行安全控制。 HTTP基本认证是基于HTTP协议的,它在请求头中包含一个Base64编码...

    nsq auth 权限认证服务

    nsq auth 权限认证服务nsq auth 权限认证服务nsq auth 权限认证服务nsq auth 权限认证服务nsq auth 权限认证服务nsq auth 权限认证服务nsq auth 权限认证服务nsq auth 权限认证服务

    ThinkPHP6.0整合Hui-Admin后台模板 Auth菜单权限

    通过以上步骤,你就可以在 `ThinkPHP6.0` 中成功整合 `Hui-Admin` 后台模板,并实现基于 `Auth` 的菜单权限控制。这不仅提高了后台的安全性,还使得管理界面更加有序,提升了用户体验。在实际项目中,你可能还需要...

    java 发送带Basic Auth认证的http post请求实例代码

    下面将详细解释如何使用Java发送带Basic Auth认证的HTTP POST请求。 首先,了解Basic Authentication的基本原理。Basic Authentication是一种简单的HTTP身份验证方法,其中客户端(在本例中是Java程序)通过在HTTP...

    thinkphp3.2.2写的AUTH认证通用后台demo+API接口开发

    接触auth认证这么久了,一开始就在网上搜auth的代码,看到很多大家分析的auth权限使用方法,但是就是没见过谁做过一个完整的auth认证的后台程序(或者高手做出来的更好的没有分享出来),正好公司项目需要,就研究做...

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

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

    前端开源库-express-basic-auth

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

    webService添加basic验证

    3. **指定认证方式**:在`&lt;login-config&gt;`元素中设置`&lt;auth-method&gt;`为`BASIC`,并定义`&lt;realm-name&gt;`来标识验证区域。 4. **定义角色**:通过`&lt;security-role&gt;`元素定义角色名称,例如`bank_member`。 5. **完整...

    nginx系列(十五)nginx下启用http_auth_basic

    这里,`auth_basic`指令设置提示的认证消息,“Restricted Area”是提示用户输入凭证的文本。`auth_basic_user_file`指定包含用户名和密码的文件路径。 3. **重启Nginx服务**:完成配置更改后,需要重启Nginx服务...

    thinkphp5.0 权限认证管理模块 插件 RBAC AUTH权限认证管理-tp5auth.zip

    在IT行业中,权限认证管理是系统安全的重要组成部分,特别是在企业级应用中,权限控制对于数据保护和业务流程的规范性至关重要。ThinkPHP5.0框架是基于PHP开发的一款强大、高效的MVC(Model-View-Controller)框架,...

    浅谈HTTP使用BASIC认证的原理及实现方法

    HTTP基本认证(BASIC Authentication)是一种简单的身份验证机制,常用于Web服务器对客户端进行身份验证。本文将深入探讨BASIC认证的原理以及如何在实际环境中实现这一机制。 一、BASIC认证概述 BASIC认证是HTTP...

    路由器Basic Auth暴力破解器 v1.0 (VC源码)

    采用VC编程,源碼VS2010编译...针对使用Basic Authentication认证的管理后台登录方式做暴力破解 程序有小BUG,但是猜解没有问题 相关开发进度请参阅CSDN BLOG http://blog.csdn.net/yehjordan/article/details/18892355

    详解在Spring-Boot中实现通用Auth认证的几种方式

    Spring Boot 中实现通用 Auth 认证的几种方式 在 Spring Boot 中实现通用 Auth 认证有多种方式,本文将介绍其中的几种常见的方式。 1. 使用 AOP 实现 Auth 认证 AOP(Aspect-Oriented Programming)是 Spring ...

    前端开源库-lws-basic-auth

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

Global site tag (gtag.js) - Google Analytics