Linux+Apache实现用户身份认证
来源:asp之家 发布时间:2010-05-04 18:31:00
一、序言
现在很多网站对用户的访问权限进行了严格的限制,用户在访问某些资源时需要给出“用户名/口令"来确认自己的身份。
目前,使用最多的身份认证方法是将用户名、口令存放在一个数据库中,当用户要访问某些受限制的资源时,要在某一个页面中输入用户名和口令,程序将用户输入的用户名和口令与数据库存放的“用户名/口令"相比较,如果输入正确,则正常使用资源,否则,资源访问被拒绝。但是,这种身份认证方式有两个很大的问题,一方面只要用户有一次身份认证成功,就可以记录下受限资源的链接地址,在下一次访问时只需输入该地址,而无需通过身份认证过程就可访问受限资源;另一方面用户可以在受限制的资源的超级链接处点右键,选择“属性",就可以查看到受限制资源的链接地址,直接访问该地址,使身份认证不能达到预期的效果。
Apache可以很好地解决上述问题。Apache是建立WWW网站的软件,可运行于Linux、 Unix和Windows操作系统下。下面就以Linux为例介绍Apache是如何完成用户身份认证功能的。
二、基本原理
Apache实现身份认证的基本原理是:当系统管理员启动身份认证功能后,可以在要限制的目录中添加一个默认名“.htaccess"的文件。当用户访问该路径下的资源时,系统就会弹出一个对话框,要求用户输入“用户名/口令"。也就是说,它的身份认证功能不是人为由程序控制,而是由系统直接控制的。这样就避免了用户记录需要认证的资源的超级链接,不会下次直接访问资源。
身份认证的方法有多种,其中包括Apache中预编译好的mod—auth模块和Apache自带的但未编译好的模块,如:mod—auth—dbm模块、mod—auth—db模块、mod—auth—msql模块。另外还有一些第三方开发的模块,如:MySQL数据库中使用的mod—auth—MySQL模块,他们都可以对一组用户或某个用户进行限制。
三、具体实现
下面主要介绍mod—auth模块和mod—auth—MySQL模块的使用。但无论采取何种认证方式,都要先对Apache做一些设置:在配置文件access.conf中作如下的设置:
AccessFileName . htaccess
AllOerride All
(一) mod—auth模块完成身份认证功能,它主要是把允许访问资源的组名、用户名、用户口令以文本文件的方式存放,具体方法是:
1.编辑认证用的组文件:主要用于存放可以访问受限制的资源的组名以及其中的用户,用Vi编辑组文件.htgroup如下
ptisi : lkch
存放在 /sur/local/apache/secrets/.htgroup路径下,其中ptisi是组名,lkch是组中的用户名。


猜你喜欢
- 眼前,绝大部分电子商务网站玩的都是“寂寞”和“慈善”。平均推广一个新会员的成本远超过30元。“返钱”网站边搜集信息边贩卖“人口”,赚的是人头
- 很多电影网站,论坛或其它机构为了方便会员或成员上传电影或者交流文件,都允许用户的上传权限,因为只有允许这个权限,用户才可以上传文件,但这个权
- 引言:Exchange Server 2007提供了一个新的邮件兼容工具,称作传输规则机制。这种机制允许管理员对来自内外部的邮件信息采用策略
- 1、单日志添加AD(如Google AD)WordPress中single.php是单篇日志模板,如果需要在单篇日志中加入GoogleAdS
- 通常地,大多数Web站点的设计目标都是:以最易接受的方式,为访问者提供即时的信息访问。在过去的几年中,越来越多的黑客、病毒和蠕虫带来的安全问
- 距北京奥运会开幕不到一个月,奥运比赛的绝大部分赛程均已敲定。16天跌宕起伏的赛事充满了令人眼花缭乱的看点,为了方便读者找到每天比赛的重点,我
- 一项调查显示,超过60%的网民对政府网站不满意,只有7%表示满意。这的确是个值得重视的信号。网民上政府网站,要么是查看信息,要么是反映情况,
- GoDaddy主机用户如果想要取消主机帐户,将会删除存储在服务器上的所有的网站文档。所以在确保取消帐户前,需要保存文档的备份。首先.登陆Ac
- Ubuntu下安装并配置VS Code编译C++安装VS Codesudo add-apt-repository ppa:ubuntu-de
- 再输入非.aspx页面时,显示默认404页面,暴露站点路径信息。解决办法:1.自定义错误页(eg:error.htm),放在站点根目录。2.
- 谷歌、雅虎、微软三大竞争对手周四宣布一项合作,将支持一个新的万维网标准,允许万维网出版商从自己的网站去除复制网页,这将使搜索引擎收录更多网页
- Windows 2000用户安装设置服务端Windows XP和2000本身就拥有构件SMTP服务器的功能,只是一般还没有安装。选择“控制面
- 怎么删除docker里建立的容器1、首先使用docker -s -a命令列出所有容器# docker ps -aCONTAINER ID &
- Google对于公司的内部运作一向口风很紧,但是也确有少数消息可能会被无意中透露出来。Google负责搜索品质监督的副总裁Udi Manbe
- 你可以在采用Windows XP、2000和Server 2003操作系统的本地计算机上使用这些方法,或者在Server 2003和2000
- 11月25日消息 据国外媒体报道,谷歌昨日宣布,任命莱克希·瑞斯(Lexi Reese)为DoubleClick Ad Exchange美国
- 全球最大的域名交易平台Sedo,今天透露chinese.com的成交价为110万美元。位居该平台2007年最贵的几个域名之一。chinese
- Google Adwords [ ¥200.00 /天 ] 2,307 3,040,019 0.07% ¥0
- 做seo的朋友都知道,研究se爬行规律对于网站优化意义重大,特别是对百度蜘蛛Baiduspider的研究。本文解释一下百度蜘蛛爬行后返回代码
- 我从linuxaid下载的3.2桌面版,在红旗网站得到的注册码。在几台机器上安装过程中 都遇到了问题,其中最多的是安装过程正常,但重新启动不