zl程序教程

您现在的位置是:首页 >  前端

当前栏目

http auth basic认证保护后台admin

认证保护后台HTTP admin Basic auth
2023-09-14 08:59:48 时间

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

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


login-config auth-method="basic" /    security-constraint url-pattern="/admin/**" role-name="admin" /   

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


     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,输入如下命令生成密码文件。


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

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


其中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   
使用 Go HTTP 框架 Hertz 进行 JWT 认证 上一篇文章简单介绍了一个高性能的 Go HTTP 框架——Hertz,本篇文章将围绕 Hertz 开源仓库的一个 demo,讲述如何使用 Hertz 完成 JWT 的认证与授权流程。
HTTP 常见认证方式 大家好,我是阿萨。 计算机本身无法识别使用者身份,那么就需要一些登录者本身才有的信息来让计算机核对身份。
详解HTTP的几种认证方式 2.DIGEST认证 DIGEST认证同样使用质询/响应的方式,但不会像BASIC认证那样直接发送明文密码(并不存在防止用户伪装的保护机制,不常用)
Spring Security系列教程06--实现HTTP摘要认证 在前面的2个章节中,一一哥 带大家认识了Spring Security中的第基本认证与表单认证 2种认证方式,其中表单认证是Spring Security默认的认证方式,也是开发时最常用的认证方式。有的小伙伴会问,不是还有第3种认证方式吗?对的,还有第三种摘要认证方式!在本文中,我们来学习了解一下HTTP摘要认证。 但是对于摘要认证,我们仅做了解即可,因为这种认证方式仅比基本认证稍微安全一点,开发时用的也不是很多。抱着艺多不压身的心态,我们多了解一点反正也没坏处。
Spring Security系列教程04--实现HTTP基本认证 在上一章节中,一一哥 带大家搭建了第一个Spring Security项目,相信小伙伴已经学会了如何利用Spring Security来保护我们的Java Web项目。但是第一个案例只是属于HelloWorld入门级别的项目,关于SpringSecurity的具体使用细节,我们还有很多不了解的。接下来,一一哥 从认证方式开始,与各位一起学习如何进行各种认证。 一. Spring Security的认证方式 1. 认证概念 在进行编码之前,我们还是老规矩,先了解一下 认证 的概念,不能连认证是啥意思都不知道,就去撸码,撸了半天都不知道撸的是什么,这有个什么劲啊。 认证: 所谓的认证,就是用来判