]> granicus.if.org Git - apache/blob - docs/manual/howto/auth.html.tr.utf8
update transformations.
[apache] / docs / manual / howto / auth.html.tr.utf8
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>Kimlik Doğrulama ve Yetkilendirme - Apache HTTP Sunucusu</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
12 <script src="../style/scripts/prettify.js" type="text/javascript">
13 </script>
14
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
16 <body id="manual-page"><div id="page-header">
17 <p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
18 <p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
19 <img alt="" src="../images/feather.gif" /></div>
20 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
21 <div id="path">
22 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.4</a> &gt; <a href="./">Nasıllar ve Öğreticiler</a></div><div id="page-content"><div id="preamble"><h1>Kimlik Doğrulama ve Yetkilendirme</h1>
23 <div class="toplang">
24 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
26 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
27 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
28 <a href="../tr/howto/auth.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
29 </div>
30
31     <p>Kimlik Doğrulama istediğiniz kişileri teyid etme işlemidir.
32       Yetkilendirme ise kişilerin nereye gireceklerine ve hangi bilgiye
33       ulaşacaklarına müsaade edilmesi işlemidir.</p>
34
35     <p>Genel erişim denetimi için <a href="access.html">Erişim Denetimi
36       Nasıl</a> belgesine bakınız.</p>
37 </div>
38 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">İlgili modüller ve Yönergeler</a></li>
39 <li><img alt="" src="../images/down.gif" /> <a href="#introduction">Giriş</a></li>
40 <li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Ön gereksinimler</a></li>
41 <li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Çalışmaya Başlama</a></li>
42 <li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Olası Sorunlar</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#dbmdbd">Diğer parola depolama yöntemleri</a></li>
45 <li><img alt="" src="../images/down.gif" /> <a href="#multprovider">Birden çok tedarikçi kullanmak</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#beyond">Yetkilendirmenin biraz ötesi</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#socache">Kimlik Doğrulama Arabelleği</a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Daha fazla bilgi</a></li>
49 </ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
50 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
51 <div class="section">
52 <h2><a name="related" id="related">İlgili modüller ve Yönergeler</a></h2>
53
54     <p>Kimlik Doğrulama ve yetkilendirme işlemi ile ilgili üç tür modül
55     vardır. Genellikle her bir gruptan en az bir modül seçeceksiniz.</p>
56
57     <ul>
58       <li>Kimlik Doğrulama türü (bkz. <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi)
59         <ul>
60           <li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
61           <li><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></li>
62         </ul>
63       </li>
64
65       <li>Kimlik Doğrulayıcı (bkz.
66       <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
67       ve <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> yönergeleri)
68         <ul>
69           <li><code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code></li>
70           <li><code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code></li>
71           <li><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code></li>
72           <li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li>
73           <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
74           <li><code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code></li>
75         </ul>
76       </li>
77       <li>Yetkilendirme (bkz.
78           <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesi)
79         <ul>
80           <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
81           <li><code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code></li>
82           <li><code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code></li>
83           <li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li>
84           <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
85           <li><code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code></li>
86           <li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li>
87         </ul>
88       </li>
89     </ul>
90
91     <p>Bu modüllere ek olarak, <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
92     <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri bulunur. Bu modüller
93     yetkilendirme modüllerinin çekirdeğini oluşturan temel yönergeleri
94     gerçekler.</p>
95
96     <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> modülü kimlik doğrulama ve
97     yetkilendirme işlemlerinin ikisini birden gerçekleştirir.
98     <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modülü bu işlemleri sunucu adına, IP
99     adresine ve isteğin karekteristiğine bağlı olarak gerçekleştirir.
100     Ancak kimlik doğrulama sisteminin bir parçası değildir.
101     <code>mod_access</code> ile geriye uyumluluk için
102     <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> diye bir modül daha vardır.</p>
103
104     <p>Muhtemelen göz atmak isteyeceğiniz <a href="access.html">Erişim
105     Denetimi</a> nasıl belgesi, sunucuya erişimlerin çeşitli yollarından
106     bahsetmektedir.</p>
107   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
108 <div class="section">
109 <h2><a name="introduction" id="introduction">Giriş</a></h2>
110     <p>Sitenizde sadece küçük bir grup insana hitap eden ya da hassas
111     bilgileriniz varsa, bu makaledeki teknikleri kullanarak dilediğiniz
112     kişilerin sadece dilediğiniz sayfaları görüntülemesini
113     sağlayabilirsiniz.</p>
114
115     <p>Bu makale sitenizin bazı parçalarını korumak için kullanacağınız
116     "standart" yolları içermektedir.</p>
117
118     <div class="note"><h3>Bilginize:</h3>
119       <p>Eğer bilgileriniz gerçekten gizliliğe ihtiyaç duyuyorsa kimlik
120       doğrulamasına ilaveten <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> modülünü de
121       kullanabilirsiniz.</p>
122     </div>
123
124   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
125 <div class="section">
126 <h2><a name="theprerequisites" id="theprerequisites">Ön gereksinimler</a></h2>
127     
128     <p>Bu makalede bahsi geçen yönergeler ya ana sunucu yapılandırma
129     dosyasında (genellikle <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> bölümünde) ya da dizin içi
130     yapılandırma dosyalarında (<code>.htaccess</code> dosyaları)
131     bulunmak zorundadır.</p>
132
133     <p>Eğer <code>.htaccess</code> dosyalarını kullanmayı
134     tasarlıyorsanız, kimlik doğrulama yönergelerine bu dosyaların içine
135     koymaya izin veren sunucu yapılandırmasına ihtiyacınız olacaktır.
136     Bunun için, dizin içi yapılandırma dosyalarının içine hangi
137     yönergelerin konacağını belirleyen <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesi kullanılır.</p>
138
139     <p>Kimlik doğrulamadan sözettiğimize göre, aşağıda gösterilen
140     şekilde bir <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesine ihtiyacınız olacaktır:</p>
141
142     <pre class="prettyprint lang-config">AllowOverride AuthConfig</pre>
143
144
145     <p>Yönergeleri doğrudan ana sunucunun yapılandırma dosyasına
146     koyacaksanız bu dosyaya yazma izniniz olmalıdır.</p>
147
148     <p>Bazı dosyaların nerede saklandığını bilmek için sunucunun dizin
149     yapısı hakkında biraz bilgi sahibi olmanız gerekmektedir. Bu çok da
150     zor olmamakla birlikte bu noktaya gelindiğinde konuyu
151     netleştireceğiz.</p>
152
153     <p>Ayrıca <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
154     <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri ya <code>httpd</code>
155     çalıştırılabilirinin içinde derlenmiş olmalı ya da
156     <code>httpd.conf</code> yapılandırma dosyası ile yüklenmelidir. Bu
157     iki modül HTTP sunucusunda kimlik doğrulama ve yetkilendirme
158     kullanımı ve yapılandırması için büyük öneme sahip temel yönergeleri
159     ve işlevselliği sağlar.</p>
160
161   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
162 <div class="section">
163 <h2><a name="gettingitworking" id="gettingitworking">Çalışmaya Başlama</a></h2>
164     <p>Burada, sunucu üzerindeki bir dizini parolayla korumak için
165     gereken temel bilgiler verilecektir.</p>
166
167     <p>İlk olarak bir parola dosyası oluşturmalısınız. Bunu nasıl
168     yapacağınız, özellikle, seçtiğiniz kimlik doğrulayıcıya göre
169     değişiklik gösterir. Bunun üzerinde ileride daha fazla duracağız.
170     Başlangıç için parolaları bir metin dosyasında tutacağız.</p>
171
172     <p>Bu dosya belge kök dizini altında olmamalıdır. Böylece başkaları
173     parola dosyasını indiremezler. Örneğin belgeleriniz
174     <code>/usr/local/apache/htdocs</code> üzerinden sunuluyorsa parola
175     dosyanızı <code>/usr/local/apache/passwd</code> dizininde
176     tutabilirsiniz.</p>
177
178     <p>Dosyayı oluşturmak için Apache ile gelen
179     <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> uygulamasını kullanacağız. Bu uygulama
180     Apache'nin kurulumunda belirtilen  <code>bin</code> dizininde
181     bulunur. Eğer Apache'yi üçüncü parti paketlerden  kurduysanız,
182     çalıştırılabilir dosyaların bulunduğu yollar üzerinde olmalıdır.</p>
183
184     <p>Bir dosya oluşturmak için şunları yazın:</p>
185
186     <div class="example"><p><code>
187       htpasswd -c /usr/local/apache/passwd/passwords umut
188     </code></p></div>
189
190     <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> size parola soracaktır arkasından da
191     teyit etmek için parolayı tekrar girmenizi isteyecektir:</p>
192
193     <div class="example"><p><code>
194       # htpasswd -c /usr/local/apache/passwd/passwords umut<br />
195       New password: parolam<br />
196       Re-type new password: parolam<br />
197       Adding password for user umut
198     </code></p></div>
199
200     <p>Eğer <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> normal yollar üzerinde değilse
201     çalıştırmak için dosyanın bulunduğu tam yeri belirtmeniz
202     gerekecektir. Dosyanın öntanımlı kurulum yeri:
203     <code>/usr/local/apache2/bin/htpasswd</code></p>
204
205     <p>Bundan sonra, sunucuyu, parola sorması için ve kimlerin erişim
206     izni olacağını belirlemek için yapılandıracaksınız. Bu işlemi
207     <code>httpd.conf</code>dosyasını düzenleyerek ya da bir
208     <code>.htaccess</code> dosyası kullanarak yapabilirsiniz. Örneğin,
209     <code>/usr/local/apache/htdocs/secret</code> dizinini korumayı
210     amaçlıyorsanız, şu yönergeleri kullanabilirsiniz. Bu yönergeleri
211     <code>/usr/local/apache/htdocs/secret/.htaccess</code> dosyası içine
212     veya <code>httpd.conf</code> içindeki &lt;Directory
213     /usr/local/apache/htdocs/secret&gt; bölümüne koyabilirsiniz.</p>
214
215     <pre class="prettyprint lang-config">
216 AuthType Basic
217 AuthName "Gizli Dosyalar"
218 # (Aşağıdaki satırın kullanımı isteğe bağlıdır)
219 AuthBasicProvider file
220 AuthUserFile /usr/local/apache/passwd/passwords
221 Require user umut
222     </pre>
223
224
225     <p>Bu yönergeleri tek tek inceleyelim.
226     <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi
227     kullanıcının kimliğini doğrulamakta kullanılacak yöntemi seçer. En
228     çok kullanılan yöntem <code>Basic</code>'tir ve bu yöntem
229     <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> modülüyle gerçeklenmiştir. Temel
230     (<code>Basic</code>) kimlik doğrulamasıyla gönderilen parolanın
231     şifrelenmeyeceğini unutmayın. Bu yöntem, bu sebepten dolayı
232     <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> eşliğinde kullanılmadığı sürece yüksek
233     hassasiyete sahip bilgiler için kullanılmamalıdır. Apache bir başka
234     kimlik doğrulama yöntemini daha destekler: <code>AuthType
235     Digest</code>. Bu yöntem <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> tarafından
236     gerçeklenmiştir ve çok daha güvenlidir. Güncel tarayıcılar, Özet
237     (<code>Digest</code>) kimlik doğrulama yöntemini
238     desteklemektedir.</p>
239
240     <p><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code> yönergesi
241     ile kimlik doğrulamada kullanılacak <dfn>Saha</dfn> da
242     belirtilebilir. Saha kullanımının, başlıca iki işlevi vardır.
243     Birincisi, istemci sıklıkla bu bilgiyi kullanıcıya parola diyalog
244     kutusunun bir parçası olarak sunar. İkincisi, belirtilen kimlik
245     doğrulamalı alan için gönderilecek parolayı belirlerken istemci
246     tarafından kullanılır.</p>
247
248     <p>Örneğin, bir istemcinin <code>"Gizli Dosyalar"</code> alanında
249     kimliği doğrulanmış olsun. Aynı sunucu üzerinde <code>"Gizli
250     Dosyalar"</code> Sahası olarak belirlenmiş alanlarda aynı parola
251     özdevinimli olarak yinelenecektir. Böylece parola bir kere girilerek
252     aynı Sahayı paylaşan çok sayıda kısıtlanmış alana ulaşırken oluşacak
253     gecikmeden kullanıcı korunmuş olur. Güvenlik gerekçelerinden dolayı,
254     her sunucu adı değiştirilişinde istemcinin parolayı yeniden sorması
255     gerekir.</p>
256
257     <p><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
258     yönergesinin öntanımlı değeri <code>file</code> olduğundan, bu
259     durumda, bu yönergenin kullanımı isteğe bağlıdır. Ancak, eğer kimlik
260     doğrulaması için  <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ya da
261     <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> gibi farklı bir kaynak seçecekseniz
262     bu yönergeyi kullanmanız gerekecektir.</p>
263
264     <p><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
265     yönergesi <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> ile oluşturduğumuz parola
266     dosyasının yerini belirtmek için kullanılır. Eğer çok sayıda
267     kullanıcınız varsa her bir kullanıcıyı her kimlik doğrulama isteği
268     için kimlik bilgilerini bir metin dosyasında aramak gayet yavaş
269     olacaktır. Apache, kullanıcı bilgilerini hızlı bir veritabanı
270     dosyasında depolama özelliğine de sahiptir. Bu amaçla,
271     <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> modülünün
272     <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>
273     yönergesi kullanılabilir. Bu dosyalar <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> ve
274     <code class="program"><a href="../programs/htdbm.html">htdbm</a></code> programı ile oluşturulabilir ve değiştirilebilir.
275     <a href="http://modules.apache.org/">Apache modülleri
276     Veritabanı</a> içindeki üçüncü parti modüllerinde çok sayıda
277     başka kimlik doğrulama türü de vardır.</p>
278
279     <p>Son olarak <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
280     yönergesi, sunucunun bu bölgesine erişimine izin verilen
281     kullanıcıları ayarlama işleminin kimlik doğrulamasıyla ilgili
282     kısmını sağlar. Bir sonraki bölümde <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesini kullanmanın
283     çeşitli yoları üzerinde duracağız.</p>
284   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
285 <div class="section">
286 <h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></h2>
287     
288     <p>Yukarıdaki yönergelerle bir dizinde sadece bir kişiye
289     (<code>umut</code> adlı kullanıcıya) izin verir. Çoğunlukla birden
290     çok kişiye izin verilmesi istenir. Bu durumda <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> yönergesi
291     devreye girer.</p>
292
293     <p>Eğer birden çok kişiye izin vermek istiyorsanız içinde kullanıcı
294     isimlerinin olduğu bir grup dosyası oluşturmalısınız. Bu dosyanın
295     biçemi gayet basittir ve bunu herhangi bir metin düzenleyici ile
296     oluşturabilirsiniz. Bu dosyanın içeriği aşağıdaki gibi
297     görünecektir:</p>
298
299     <div class="example"><p><code>
300      GroupName: umut samet engin kubilay
301     </code></p></div>
302
303     <p>Dosya, sadece, boşluklarla birbirinden ayrılmış gurup üyelerinin
304     isimlerinden oluşan uzun bir liste içerir.</p>
305
306     <p>Varolan parola dosyasına bir kullanıcı eklemek için şunu
307     yazın:</p>
308
309     <div class="example"><p><code>
310       htpasswd /usr/local/apache/passwd/passwords birey
311     </code></p></div>
312
313     <p>Evvelce almış olduğunuz yanıtı yine alacaksınız ama bu sefer yeni
314     bir dosya oluşturulmak yerine var olan bir dosyaya eklenecektir.
315     (Yeni bir parola dosyası oluşturmak için <code>-c</code> seçeneği
316     kullanılır).</p>
317
318     <p>Şimdi, <code>.htaccess</code> dosyanızı veya
319     <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> bölümünüzü
320     aşağıda görüldüğü şekilde değiştirebilirsiniz:</p>
321
322     <pre class="prettyprint lang-config">
323 AuthType Basic
324 AuthName "Davete Binaen"
325 # Satır isteğe bağlıdır:
326 AuthBasicProvider file
327 AuthUserFile /usr/local/apache/passwd/passwords
328 AuthGroupFile /usr/local/apache/passwd/groups
329 Require group Grupismi
330     </pre>
331
332
333     <p>Artık, <code>Grupismi</code> gurubunda listelenmiş ve
334     <code>password</code> dosyasında kaydı olan kişiye, parolayı doğru
335     yazdığı takdirde izin verilecektir.</p>
336
337     <p>Çoklu kullanıcıya izin veren biraz daha az kullanılan başka bir
338     yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi
339     kullanabilirsiniz:</p>
340
341     <pre class="prettyprint lang-config">Require valid-user</pre>
342
343
344     <p><code>Require user umut</code> satırı ile parola dosyasında
345     listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin
346     vermektense, her grup için ayrı bir parola dosyası tutarak grup
347     davranışını taklit edebilirsiniz.</p>
348
349   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
350 <div class="section">
351 <h2><a name="possibleproblems" id="possibleproblems">Olası Sorunlar</a></h2>
352     <p>Temel kimlik doğrulama yolu belirtildiği için, sunucuya
353     yaptığınız her belge istediğinde kullanıcı adınızın ve parolanızın
354     doğrulanması gerekir. Hatta aynı sayfayı yeniden yüklerken ya da
355     sayfadaki her bir resim için bu yapılmalıdır (şayet korunmakta olan
356     bir dizinden geliyorsa). Bu işlem hızı azaltacaktır. Yavaşlama
357     miktarı parola dosyanızın büyüklüğü ile orantılı olacaktır, çünkü bu
358     işlem sırasında dosya açılacak ve kullanıcıların arasında isminiz
359     bulunana kadar liste aşağı doğru taranacaktır. Bu işlem sayfa her
360     yüklenişinde tekrar edilecektir.</p>
361
362     <p>Buradan çıkacak sonuç, bir parola dosyasına konulan kullanıcı
363     sayısında bir üst sınır olması gerekliliğidir. Bu sınır sunucunuzun
364     başarımına bağlı olarak değişiklik gösterir. Bir kaç yüz kayıtın
365     üstünde giriş yaptığınızda hız düşüşünü gözlemlebilirsiniz İşte bu
366     anda kimlik doğrulama için başka bir yöntem aramaya başlarsınız.</p>
367
368   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
369 <div class="section">
370 <h2><a name="dbmdbd" id="dbmdbd">Diğer parola depolama yöntemleri</a></h2>
371     
372     <p>Parolaları basit bir metin dosyasında depolamak yukarıda
373     bahsedilen sorunlara yol açtığından parolaları başka bir yerde
374     depolamayı düşünebilirsiniz; örneğin bir veritabanında.</p>
375
376     <p><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ve <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>
377     modülleri bunu mümkün kılan iki modüldür. Depolama yönemi olarak
378     <code><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> file</code> yerine, <code>dbm</code>
379     veya <code>dbd</code> kullanabilirsiniz.</p>
380
381     <p>Bir metin dosyası yerine bir dbm dosyası kullanım örneği:</p>
382
383     <pre class="prettyprint lang-config">
384 &lt;Directory /www/docs/private&gt;
385     AuthName "Private"
386     AuthType Basic
387     AuthBasicProvider dbm
388     AuthDBMUserFile /www/passwords/passwd.dbm
389     Require valid-user
390 &lt;/Directory&gt;
391     </pre>
392
393
394     <p>Başka seçenekler de mümkündür. Ayrınılar için
395     <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> belgesine başvurun.</p>
396
397   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
398 <div class="section">
399 <h2><a name="multprovider" id="multprovider">Birden çok tedarikçi kullanmak</a></h2>
400     
401     <p>Kimlik doğrulama ve yetkilendirme mimarisine dayalı yeni
402     tedarikçiyi kullanarak tek bir yetkilendirme ya da kimlik doğrulama
403     yöntemine kilitlenip kalmayacaksınız. Aslında birden çok tedarikçi
404     ihtiyacınıza cevap vermek için bir arada kullanılabilir. Aşağıdaki
405     örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir
406     arada kullanılmıştır.</p>
407
408     <pre class="prettyprint lang-config">
409 &lt;Directory /www/docs/private&gt;
410     AuthName "Private"
411     AuthType Basic
412     AuthBasicProvider file ldap
413     AuthUserFile /usr/local/apache/passwd/passwords
414     AuthLDAPURL ldap://ldaphost/o=yourorg
415     Require valid-user
416 &lt;/Directory&gt;
417     </pre>
418
419
420     <p>Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini
421     doğrulamaya teşebbüs edecektir. Kullanıcının kimliği
422     doğrulanamıyorsa LDAP tedarikçisi çağırılır. Eğer kurumunuz birden
423     çok kimlik doğrulama tedarikçisini yürürlüğe koyuyorsa bu, kimlik
424     doğrulama faaliyet alanının genişletilmesini sağlar. Diğer kimlik
425     kanıtlama ve yetkilendirme senaryoları tek bir kimlik doğrulaması
426     ile birden fazla yetkilendirme türüne izin verebilir.</p>
427
428     <p>Çok sayıda kimlik doğrulama tedarikçisi uygulamaya konulabileceği
429     gibi, çok sayıda yetkilendirme yöntemi de kullanılabilir. Bu örnekte
430     dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması
431     kullanılmıştır.</p>
432
433     <pre class="prettyprint lang-config">
434 &lt;Directory /www/docs/private&gt;
435     AuthName "Private"
436     AuthType Basic
437     AuthBasicProvider file
438     AuthUserFile /usr/local/apache/passwd/passwords
439     AuthLDAPURL ldap://ldaphost/o=yourorg
440     AuthGroupFile /usr/local/apache/passwd/groups
441     Require group GroupName
442     Require ldap-group cn=mygroup,o=yourorg
443 &lt;/Directory&gt;
444     </pre>
445
446
447     <p>Kimlik doğrulama konusunu biraz daha genişletirsek, <code class="directive"><a href="../mod/mod_authz_core.html#requireall">&lt;RequireAll&gt;</a></code> ve
448     <code class="directive"><a href="../mod/mod_authz_core.html#requireany">&lt;RequireAny&gt;</a></code> gibi yetkilendirme taşıyıcısı
449     yönergelerle hangi iznin hangi sırayla uygulanacağını
450     belirlenebilir. <a href="../mod/mod_authz_core.html#logic">Yetkilendirme Taşıyıcıları</a> bölümünde bunun bir uygulama
451     örneğini görebilirsiniz.</p>
452
453   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
454 <div class="section">
455 <h2><a name="beyond" id="beyond">Yetkilendirmenin biraz ötesi</a></h2>
456     <p>Tek bir veri deposundan yapılacak tek bir sınamadan çok daha
457     esnek kimlik doğrulaması yapılabilir. Sıralama, mantık ve hangi
458     kimlik doğrulamasının kullanılacağını seçmek mümkündür.</p>
459
460     <h3><a name="authandororder" id="authandororder">Mantık ve sıralamanın uygulanması</a></h3>
461       
462       <p>Yetkilendirmenin hangi sırayla uygulanacağı ve nasıl
463       denetleneceği geçmişte biraz gizemli bir konuydu. Apache 2.2'de,
464       tedarikçi tabanlı kimlik doğrulamasının devreye girmesiyle asıl
465       kimlik doğrulama işlemini yetkilendirme ve destek işlevselliğinden
466       ayırmak mümkün oldu. Bunun faydalarından birisi de kimlik
467       doğrulama tedarikçilerinin yapılandırılabilmesi ve auth modülünün
468       kendi yükleme sırasından bağımsız olarak özel bir sırayla
469       çağrılabilmesidir. Bu tedarikçi tabanlı mekanizmanın aynısı
470       yetkilendirmeye de getirilmiştir. Bunun anlamı <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinde hangi
471       izin yönteminin kullanılması gerektiğinin belirtmesinin yanında
472       hangi sırayla çağırılacaklarının da belirlenebildiğidir. Çok
473       sayıda yetkilendirme yöntemi kullanıldığında, bunlar, <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergelerinin
474       yapılandırma dosyasında göründükleri sıra ile çağırılır.</p>
475
476       <p><code class="directive"><a href="../mod/mod_authz_core.html#requireall">&lt;RequireAll&gt;</a></code> ve <code class="directive"><a href="../mod/mod_authz_core.html#requireany">&lt;RequireAny&gt;</a></code> gibi yetkilendirme
477       taşıyıcısı yönergelerin devreye girmesiyle yetkilendirme
478       yöntemlerinin ne zaman çağırılacağı ve çağırıldığında ve erişime
479       izin verirken hangi kuralların uygulanacağı konusunda denetim
480       yapılandırmanın eline geçmektedir. Karmaşık yetkilendime mantığını
481       ifade etmek için kullanılan bir örneği görmek için
482       <a href="../mod/mod_authz_core.html#logic">Yetkilendirme
483       Taşıyıcıları</a> bölümüne bakınız.</p>
484
485       <p>Öntanımlı olarak tüm <code class="directive"><a href="../mod/mod_authz_core.html#&#10;      require">
486       Require</a></code> yönergeleri, <code class="directive"><a href="../mod/mod_authz_core.html#requireany">&lt;RequireAny&gt;</a></code>
487       taşıyıcı yönergesinin içine konur. Başka bir deyişle eğer
488       belirtilen kimlik doğrulama yöntemlerinden herhangi biri başarılı
489       olursa yetkilendirme de sağlanmış olur.</p>
490
491     
492
493     <h3><a name="reqaccessctrl" id="reqaccessctrl">Erişim denetimi için yetkilendirme tedarikçilerinin
494       kullanımı</a></h3>
495       
496       <p>Kullanıcı adı ve parolasına göre kimlik doğrulama hikayenin
497       sadece bir bölümüdür. Sıklıkla insanlara kim olduklarına göre
498       değil birşeylere dayanarak izin vermek istersiniz. Örneğin nereden
499       geldikleri gibi.</p>
500
501       <p><code class="directive"><a href="../mod/mod_authz_host.html#all">all</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#env">env</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#host">host</a></code> ve <code class="directive"><a href="../mod/mod_authz_host.html#ip">ip</a></code> gibi yetkilendirme
502       tedarikçileri ile, bir belgenin istendiği makinenin IP adresi veya
503       konak ismi gibi bazı özelliklerine dayalı olarak erişime izin
504       verip vermeyeceğinizi belirtebilirsiniz.</p>
505
506       <p>Bu tedarikçilerin kullanımı <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinde açıklanmıştır. Bu yönergeler,
507       isteklerin işlenmesi sırasında yetkilendirme aşamasında
508       çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin:
509       </p>
510
511       <pre class="prettyprint lang-config">Require ip <var>adres</var></pre>
512
513
514       <p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP
515         addresidir)</p>
516
517       <pre class="prettyprint lang-config">Require host <var>alan_adı</var></pre>
518
519
520       <p>Burada, <var>alan_adı</var> bir tam nitelikli alan adıdır
521       (ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP
522       adresi de belirtilebilir.</p>
523
524       <p>Örneğin, yorum alanını gereksiz iletilerle dolduran birini uzak
525       tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları
526       yapabilirsiniz:</p>
527
528         <pre class="prettyprint lang-config">
529 &lt;RequireAll&gt;
530     Require all granted
531     Require not ip 10.252.46.165
532 &lt;/RequireAll&gt;
533         </pre>
534
535
536       <p>Bu adresden gelen ziyaretçiler bu yönergedeki içeriği
537       göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de
538       makine adı varsa şunu kullanabilirsiniz:</p>
539
540         <pre class="prettyprint lang-config">
541 &lt;RequireAll&gt;
542     Require all granted
543     Require not host host.example.com
544 &lt;/RequireAll&gt;
545         </pre>
546
547
548       <p>Eğer alan adının tamanıdan gelecek olan bütün erişimleri
549       engellemek isterseniz adresin ya da alan adının bir parçasını
550       belirtin:</p>
551
552         <pre class="prettyprint lang-config">
553 &lt;RequireAll&gt;
554     Require all granted
555     Require not ip 192.168.205
556     Require not host phishers.example.com moreidiots.example
557     Require not host ke
558 &lt;/RequireAll&gt;
559         </pre>
560
561
562         <p><code class="directive"><a href="../mod/mod_authz_core.html#requireall">&lt;RequireAll&gt;</a></code> yönergesini çok sayıda
563         <code class="directive"><a href="../mod/mod_authz_core.html#require">&lt;Require&gt;</a></code> yönergesi ile birlikte kullanarak,
564         sadece <code>not</code> ile olumsuzlanan tüm koşulları gerçekleyen
565         bağlantılara erişim verilir. Başka bir deyişle, olumsuzlanan koşulları
566         gerçeklemeyen bağlantıların erişimi engellenir.</p>
567
568     
569
570     <h3><a name="filesystem" id="filesystem">Erişim denetimi ve geriye uyumluluk</a></h3>
571       
572       <p>Kimlik doğrulama için tedarik tabanlı mekanizma kullanımının
573       yan etkilerinden birisi,
574       <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>,
575       <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>,
576       <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> ve
577       <code class="directive"><a href="../mod/mod_access_compat.html#satisfy">Satisfy</a></code> erişim
578       denetim yönergelerine artık ihtiyaç duyulmamasıdır. Ancak eski
579       yapılandırmalarla uyumluluğu sağlamak için bu yönergeler
580       <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> modülüne taşınmıştır.</p>
581
582     
583
584   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
585 <div class="section">
586 <h2><a name="socache" id="socache">Kimlik Doğrulama Arabelleği</a></h2>
587     <p>Zaman zaman kimlik doğrulama ağınızda veya sağlayıcı(ları)nızda kabul
588     edilemez yükler oluşturur. Bu çoğunlukla <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>
589     (veya üçüncü parti/özel sağlayıcıların) kullanıcılarını etkiler. Bununla
590     ilgilenmek için httpd 2.3/2.4, kimlik bilgilerini arabelleklemek ve özgün
591     sağlayıcıların yüklerini azaltmak için yeni bir arabellekleme sağlayıcısı
592     olarak <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> modülü ile gelmektedir.</p>
593     <p>Bu, bazı kullanıcılar için önemli bir başarım artışı sağlayabilir.</p>
594   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
595 <div class="section">
596 <h2><a name="moreinformation" id="moreinformation">Daha fazla bilgi</a></h2>
597     <p>Daha fazla bilgi için <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ve
598     <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modüllerinin belgelerine bakınız.
599     <code class="directive"><a href="../mod/mod_authn_core.html#&lt;authnprovideralias&gt;">&lt;AuthnProviderAlias&gt;</a></code>
600     yönergesi ile bazı yapılandırmalarınızı basitleştirebilirsiniz.</p>
601
602     <p>Apache tarafından desteklenen şifrelerle ilgili bilgi için <a href="../misc/password_encryptions.html">Parola Biçemleri</a>
603     belgesine bakınız.</p>
604
605     <p><a href="access.html">Erişim Denetimi</a> nasıl belgesinden de
606     bazı bilgiler edinebilirsiniz.</p>
607   </div></div>
608 <div class="bottomlang">
609 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
610 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
611 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
612 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
613 <a href="../tr/howto/auth.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
614 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorum</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
615 <script type="text/javascript"><!--//--><![CDATA[//><!--
616 var comments_shortname = 'httpd';
617 var comments_identifier = 'http://httpd.apache.org/docs/2.4/howto/auth.html';
618 (function(w, d) {
619     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
620         d.write('<div id="comments_thread"><\/div>');
621         var s = d.createElement('script');
622         s.type = 'text/javascript';
623         s.async = true;
624         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
625         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
626     }
627     else { 
628         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
629     }
630 })(window, document);
631 //--><!]]></script></div><div id="footer">
632 <p class="apache">Copyright 2013 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
633 <p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
634 if (typeof(prettyPrint) !== 'undefined') {
635     prettyPrint();
636 }
637 //--><!]]></script>
638 </body></html>