授予经过身份验证的用户访问权

时间:2014-04-09 13:34:14

标签: apache apache2

我在配置文件中有这个:

Require all granted

我在Windows上运行apache 2.

我不想给每个人许可 - 当有人试图访问服务器时,如何调用身份验证表单?

这是一个内部网应用程序,我希望能够访问该计算机的任何人都可以访问该服务器。

类似

Require valid-user

我确实尝试过google但没有运气。

1 个答案:

答案 0 :(得分:0)

您要查找的信息位于Apache Authentication and Authorization

这是我在apache conf上为每个目录提供的内容,我希望用户使用密码。

我必须将我想要访问的每个用户的用户名放在这里,有另一种方法可以管理用户,使用AuthGroupFile,但是我没有很多,因为我用它来yum存储库的简单文件服务器。

<Directory "your_dir" >
  AuthType Basic
  AuthName "Restricted Access"
  # Optional line:
  AuthBasicProvider file
  AuthUserFile /usr/local/apache/passwd/passwords
  # AuthGroupFile /usr/local/apache/passwd/groups
  Require user username1 username2 username3
</Directory>

密码文件的语法类似于:

username1:$apr1$fdafdsafdafdafsafda
username2:$apr1$fdafdsafdafdafsafda

但是不应该手动创建该文件,有一个工具,htpasswd

添加新用户时,我的代码中包含此内容:

def add_password(passwords_file,user,password)
  if File.exists? passwords_file
    unless File.readlines(passwords_file).grep(/#{user}/).size > 0
      %x[htpasswd -b #{passwords_file} #{user} #{password}]
    end
  else
    %x[htpasswd -c -b #{passwords_file} #{user} #{password}]
  end
end

希望这有帮助!