⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auth.html.en

📁 Apache官方在今天放出产品系列2.2的最新版本2.2.11的源码包 最流行的HTTP服务器软件之一
💻 EN
📖 第 1 页 / 共 2 页
字号:
      # (Following line optional)<br />      AuthBasicProvider file<br />      AuthUserFile /usr/local/apache/passwd/passwords<br />      Require user rbowen    </code></p></div>    <p>Let's examine each of those directives individually. The <code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code> directive selects    that method that is used to authenticate the user. The most    common method is <code>Basic</code>, and this is the method    implemented by <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>. It is important to be aware,    however, that Basic authentication sends the password from the client to    the server unencrypted. This method should therefore not be used for    highly sensitive data, unless accompanied by <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>.    Apache supports one other authentication method:    <code>AuthType Digest</code>. This method is implemented by <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> and is much more secure. Most recent    browsers support Digest authentication.</p>    <p>The <code class="directive"><a href="../mod/core.html#authname">AuthName</a></code> directive sets    the <dfn>Realm</dfn> to be used in the authentication. The realm serves    two major functions. First, the client often presents this information to    the user as part of the password dialog box. Second, it is used by the    client to determine what password to send for a given authenticated    area.</p>    <p>So, for example, once a client has authenticated in the    <code>"Restricted Files"</code> area, it will automatically    retry the same password for any area on the same server that is    marked with the <code>"Restricted Files"</code> Realm.    Therefore, you can prevent a user from being prompted more than    once for a password by letting multiple restricted areas share    the same realm. Of course, for security reasons, the client    will always need to ask again for the password whenever the    hostname of the server changes.</p>    <p>The <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> is,    in this case, optional, since <code>file</code> is the default value    for this directive. You'll need to use this directive if you are    choosing a different source for authentication, such as    <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> or <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>    <p>The <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>    directive sets the path to the password file that we just    created with <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>. If you have a large number    of users, it can be quite slow to search through a plain text    file to authenticate the user on each request. Apache also has    the ability to store user information in fast database files.    The <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> module provides the <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> directive. These    files can be created and manipulated with the <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> program. Many    other types of authentication options are available from third    party modules in the <a href="http://modules.apache.org/">Apache Modules    Database</a>.</p>    <p>Finally, the <code class="directive"><a href="../mod/core.html#require">Require</a></code>    directive provides the authorization part of the process by    setting the user that is allowed to access this region of the    server. In the next section, we discuss various ways to use the    <code class="directive"><a href="../mod/core.html#require">Require</a></code> directive.</p></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Letting more than oneperson in</a></h2>    <p>The directives above only let one person (specifically    someone with a username of <code>rbowen</code>) into the    directory. In most cases, you'll want to let more than one    person in. This is where the <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> comes in.</p>    <p>If you want to let more than one person in, you'll need to    create a group file that associates group names with a list of    users in that group. The format of this file is pretty simple,    and you can create it with your favorite editor. The contents    of the file will look like this:</p>   <div class="example"><p><code>     GroupName: rbowen dpitts sungo rshersey   </code></p></div>    <p>That's just a list of the members of the group in a long    line separated by spaces.</p>    <p>To add a user to your already existing password file,    type:</p>    <div class="example"><p><code>      htpasswd /usr/local/apache/passwd/passwords dpitts    </code></p></div>    <p>You'll get the same response as before, but it will be    appended to the existing file, rather than creating a new file.    (It's the <code>-c</code> that makes it create a new password    file).</p>    <p>Now, you need to modify your <code>.htaccess</code> file to    look like the following:</p>    <div class="example"><p><code>      AuthType Basic<br />      AuthName "By Invitation Only"<br />      # Optional line:<br />      AuthBasicProvider file<br />      AuthUserFile /usr/local/apache/passwd/passwords<br />      AuthGroupFile /usr/local/apache/passwd/groups<br />      Require group GroupName    </code></p></div>    <p>Now, anyone that is listed in the group <code>GroupName</code>,    and has an entry in the <code>password</code> file, will be let in, if    they type the correct password.</p>    <p>There's another way to let multiple users in that is less    specific. Rather than creating a group file, you can just use    the following directive:</p>    <div class="example"><p><code>      Require valid-user    </code></p></div>    <p>Using that rather than the <code>Require user rbowen</code>    line will allow anyone in that is listed in the password file,    and who correctly enters their password. You can even emulate    the group behavior here, by just keeping a separate password    file for each group. The advantage of this approach is that    Apache only has to check one file, rather than two. The    disadvantage is that you have to maintain a bunch of password    files, and remember to reference the right one in the    <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> directive.</p></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="possibleproblems" id="possibleproblems">Possible problems</a></h2>    <p>Because of the way that Basic authentication is specified,    your username and password must be verified every time you    request a document from the server. This is even if you're    reloading the same page, and for every image on the page (if    they come from a protected directory). As you can imagine, this    slows things down a little. The amount that it slows things    down is proportional to the size of the password file, because    it has to open up that file, and go down the list of users    until it gets to your name. And it has to do this every time a    page is loaded.</p>    <p>A consequence of this is that there's a practical limit to    how many users you can put in one password file. This limit    will vary depending on the performance of your particular    server machine, but you can expect to see slowdowns once you    get above a few hundred entries, and may wish to consider a    different authentication method at that time.</p></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="dbmdbd" id="dbmdbd">Alternate password storage</a></h2>    <p>Because storing passwords in plain text files has the above    problems, you may wish to store your passwords somewhere else, such    as in a database.</p>    <p><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> and <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> are two    modules which make this possible. Rather than selecting <code><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> file</code>, instead    you can choose <code>dbm</code> or <code>dbd</code> as your storage    format.</p>    <p>To select a dbd file rather than a text file, for example:</p>    <div class="example"><p><code>    &lt;Directory /www/docs/private&gt;<br />    AuthName "Private"<br />    AuthType Basic<br />    AuthBasicProvider dbm<br />    AuthDBMUserFile /www/passwords/passwd.dbm<br />    Require valid-user    &lt;/Directory&gt;    </code></p></div>    <p>Other options are available. Consult the    <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> documentation for more details.</p></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="moreinformation" id="moreinformation">More information</a></h2>    <p>You should also read the documentation for    <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> and <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> which    contain some more information about how this all works.    <code class="module"><a href="../mod/mod_authn_alias.html">mod_authn_alias</a></code> can also help in simplifying certain    authentication configurations.</p>        <p>The various ciphers supported by Apache for authentication data are    explained in <a href="../misc/password_encryptions.html">Password    Encryptions</a>.</p>        <p>And you may want to look at the <a href="access.html">Access    Control</a> howto, which discusses a number of related topics.</p></div></div><div class="bottomlang"><p><span>Available Languages: </span><a href="../en/howto/auth.html" title="English">&nbsp;en&nbsp;</a> |<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p></div><div id="footer"><p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p><p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -