一个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
分享到:
相关推荐
String url = "http://www.httpbin.org/basic-auth/admin/adminpwd"; // 创建并设置认证头 HttpHeaders headers = new HttpHeaders(); headers.set("Authorization", "Basic " + Base64.getEncoder()....
通过base64加密方式将用户名和密码进行封装,生成basic auth的认证信息,再将该信息塞进请求头里,最后通过认证进行get请求。
**标题解析:** "BasicAuth的Java服务端实现" 指的是使用Java语言在服务端实现HTTP的基本认证(Basic Authentication)机制。这种认证方式是HTTP协议标准的一部分,用于在网络服务器上验证用户身份。 **基本认证...
本项目是一款基于Java的Tracer开发架构,整合了Auth认证服务器与admin后台业务系统。整个项目包含940个文件,涉及Java、XML、Less、JavaScript、CSS等多种编程语言,文件类型丰富多样。其中,Java源文件占比最高,...
HTTP基本认证(Basic Authentication)是HTTP协议中一种简单的身份验证机制。它要求用户在访问受保护资源时提供用户名和密码。这种认证方式是基于HTTP头部的,通过将用户名和密码编码为Base64字符串并将其放入`...
使用方式:./htpasswd.py -c -b 生成文件名 用户名 密码,需要修改为可执行权限,chmod 777 htpasswd.py
本文将深入探讨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 权限认证服务
通过以上步骤,你就可以在 `ThinkPHP6.0` 中成功整合 `Hui-Admin` 后台模板,并实现基于 `Auth` 的菜单权限控制。这不仅提高了后台的安全性,还使得管理界面更加有序,提升了用户体验。在实际项目中,你可能还需要...
下面将详细解释如何使用Java发送带Basic Auth认证的HTTP POST请求。 首先,了解Basic Authentication的基本原理。Basic Authentication是一种简单的HTTP身份验证方法,其中客户端(在本例中是Java程序)通过在HTTP...
接触auth认证这么久了,一开始就在网上搜auth的代码,看到很多大家分析的auth权限使用方法,但是就是没见过谁做过一个完整的auth认证的后台程序(或者高手做出来的更好的没有分享出来),正好公司项目需要,就研究做...
- **基本身份验证**:`httpauth`支持HTTP基本认证,这是最简单的身份验证方式。你需要提供一个用户名和密码,中间件会将这些凭证与提供的凭证进行比较。 ```go auth := httpauth.SimpleBasicAuth("username", ...
"express-basic-auth"是这样一个中间件,它实现了HTTP基本认证(Basic Authentication),一种简单的身份验证方案。本文将详细介绍Express基本认证中间件的工作原理、安装、配置以及实际应用。 ### 一、HTTP基本...
3. **指定认证方式**:在`<login-config>`元素中设置`<auth-method>`为`BASIC`,并定义`<realm-name>`来标识验证区域。 4. **定义角色**:通过`<security-role>`元素定义角色名称,例如`bank_member`。 5. **完整...
这里,`auth_basic`指令设置提示的认证消息,“Restricted Area”是提示用户输入凭证的文本。`auth_basic_user_file`指定包含用户名和密码的文件路径。 3. **重启Nginx服务**:完成配置更改后,需要重启Nginx服务...
在IT行业中,权限认证管理是系统安全的重要组成部分,特别是在企业级应用中,权限控制对于数据保护和业务流程的规范性至关重要。ThinkPHP5.0框架是基于PHP开发的一款强大、高效的MVC(Model-View-Controller)框架,...
HTTP基本认证(BASIC Authentication)是一种简单的身份验证机制,常用于Web服务器对客户端进行身份验证。本文将深入探讨BASIC认证的原理以及如何在实际环境中实现这一机制。 一、BASIC认证概述 BASIC认证是HTTP...
采用VC编程,源碼VS2010编译...针对使用Basic Authentication认证的管理后台登录方式做暴力破解 程序有小BUG,但是猜解没有问题 相关开发进度请参阅CSDN BLOG http://blog.csdn.net/yehjordan/article/details/18892355
Spring Boot 中实现通用 Auth 认证的几种方式 在 Spring Boot 中实现通用 Auth 认证有多种方式,本文将介绍其中的几种常见的方式。 1. 使用 AOP 实现 Auth 认证 AOP(Aspect-Oriented Programming)是 Spring ...
4. **API集成**:对于API接口的保护,`lws-basic-auth`可能提供API级别的认证,确保只有经过验证的请求才能到达服务器。 在实际应用中,开发者需要考虑以下几点安全实践: - **HTTPS**:即使使用了基本身份验证,...