一个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
分享到:
相关推荐
然后,在Http请求中使用authorization作为一个HTTP请求头Header name,“Basic YWtaW46YWRtaW4=“作为Header的值,发送给服务端。(注意这里使用Basic+空格+加密串) 服务器在收到这样的请求时,到达...
通过base64加密方式将用户名和密码进行封装,生成basic auth的认证信息,再将该信息塞进请求头里,最后通过认证进行get请求。
Java 实现HTTP BasicAuth服务端代码,压缩包为Eclipse工程,导入即可运行
使用方式:./htpasswd.py -c -b 生成文件名 用户名 密码,需要修改为可执行权限,chmod 777 htpasswd.py
在HTTP中,基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供以用户名和口令形式的凭证,这篇文章主要介绍了http basic authentication通过post方式访问api示例,大家参考使用吧
nsq auth 权限认证服务nsq auth 权限认证服务nsq auth 权限认证服务nsq auth 权限认证服务nsq auth 权限认证服务nsq auth 权限认证服务nsq auth 权限认证服务nsq auth 权限认证服务
接触auth认证这么久了,一开始就在网上搜auth的代码,看到很多大家分析的auth权限使用方法,但是就是没见过谁做过一个完整的auth认证的后台程序(或者高手做出来的更好的没有分享出来),正好公司项目需要,就研究做...
下面小编就为大家带来一篇java 发送带Basic Auth认证的http post请求实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
采用VC编程,源碼VS2010编译...针对使用Basic Authentication认证的管理后台登录方式做暴力破解 程序有小BUG,但是猜解没有问题 相关开发进度请参阅CSDN BLOG http://blog.csdn.net/yehjordan/article/details/18892355
NULL 博文链接:https://wangwengcn.iteye.com/blog/1879381
nginx的basic auth配置由ngx_http_auth_basic_module模块提供,对HTTP Basic Authentication协议进行了支持,用户可通过该配置设置用户名和密码对web站点进行简单的访问控制。 basic auth配置示例: location / { ...
java.io.IOException: Server returned HTTP response code: 403 for URL 处理过程记录 BASIC AUTH2 POST接口,解决403问题
webService添加basic验证,为了WebService的安全,将webservice添加basic验证,用户在调用时需要提供授权信息进行调用
httpauth - Go的HTTP身份验证中间件
本文主要介绍了关于Laravel 5.5基于内置的Auth模块实现前后台登陆的相关内容,更多关于Auth模块的内容大家可以参考这篇文章:https://www.jb51.net/article/121401.htm 下面话不多说了,来一起看看详细的介绍吧。 ...
ThinkPHP5.0 php7 Auth权限认证管理模块 , 目前还没有人发THINKPHP5.0用的这个权限认证模块, 自己改造的thinkphp3.2里面用的auth授权验证模块为TP5.0 php7能用的模块, 免费分享给大家。 如果你也改造了次代码么...
ThinkPHP6.0整合Hui-Admin后台模板 Auth菜单权限,简单地写了几个增删改查的例子,用到了中间件的使用
passport-auth0, Passport.js的Auth0认证策略 passport-auth0 这是 Passport.js.的auth0认证策略安装npm install passport-auth0配置从仪表板的设置获取你的凭证,并按如下方式初始化策略:var
icecast_http_basic_auth
基本认证 通用的基本Auth Authorization标头字段解析器。 安装 这是通过提供的模块。 使用完成 : $ npm install basic-auth API var auth = require ( 'basic-auth' ) 验证(要求) 从给定的请求中获取基本的...