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
8 <title>Kimlik Doğrulama, Yetkilendirme ve Erişim Denetimi - 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">
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="<-" alt="<-" src="../images/left.gif" /></a></div>
22 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Nasıllar ve Öğreticiler</a></div><div id="page-content"><div id="preamble"><h1>Kimlik Doğrulama, Yetkilendirme ve Erişim Denetimi</h1>
24 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> |
25 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
26 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
27 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
28 <a href="../tr/howto/auth.html" title="Türkçe"> tr </a></p>
30 <div class="outofdate">Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.</div>
32 <p>Kimlik Doğrulama istediğiniz kişileri teyid etme işlemidir.
33 Yetkilendirme ise kişilerin nereye gireceklerine ve hangi bilgiye
34 ulaşacaklarına müsaade edilmesi işlemidir.</p>
36 <p>Genel erişim denetimi için <a href="access.html">Erişim Denetimi
37 Nasıl</a> belgesine bakınız.</p>
39 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">İlgili modüller ve Yönergeler</a></li>
40 <li><img alt="" src="../images/down.gif" /> <a href="#introduction">Giriş</a></li>
41 <li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Ön gereksinimler</a></li>
42 <li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Çalışmaya Başlama</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Olası Sorunlar</a></li>
45 <li><img alt="" src="../images/down.gif" /> <a href="#dbmdbd">Diğer parola depolama yöntemleri</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#multprovider">Birden çok tedarikçi kullanmak</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#beyond">Yetkilendirmenin biraz ötesi</a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#socache">Kimlik Doğrulama Arabelleği</a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Daha fazla bilgi</a></li>
50 </ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
51 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
53 <h2><a name="related" id="related">İlgili modüller ve Yönergeler</a></h2>
55 <p>Kimlik Doğrulama ve yetkilendirme işlemi ile ilgili üç tür modül
56 vardır. Genellikle her bir gruptan en az bir modül seçeceksiniz.</p>
59 <li>Kimlik Doğrulama türü (bkz. <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi)
61 <li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
62 <li><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></li>
66 <li>Kimlik Doğrulayıcı (bkz.
67 <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
68 ve <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> yönergeleri)
70 <li><code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code></li>
71 <li><code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code></li>
72 <li><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code></li>
73 <li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li>
74 <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
75 <li><code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code></li>
78 <li>Yetkilendirme (bkz.
79 <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesi)
81 <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
82 <li><code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code></li>
83 <li><code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code></li>
84 <li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li>
85 <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
86 <li><code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code></li>
87 <li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li>
92 <p>Bu modüllere ek olarak, <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
93 <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri bulunur. Bu modüller
94 yetkilendirme modüllerinin çekirdeğini oluşturan temel yönergeleri
97 <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> modülü kimlik doğrulama ve
98 yetkilendirme işlemlerinin ikisini birden gerçekleştirir.
99 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modülü bu işlemleri sunucu adına, IP
100 adresine ve isteğin karekteristiğine bağlı olarak gerçekleştirir.
101 Ancak kimlik doğrulama sisteminin bir parçası değildir.
102 <code>mod_access</code> ile geriye uyumluluk için
103 <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> diye bir modül daha vardır.</p>
105 <p>Muhtemelen göz atmak isteyeceğiniz <a href="access.html">Erişim
106 Denetimi</a> nasıl belgesi, sunucuya erişimlerin çeşitli yollarından
108 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
109 <div class="section">
110 <h2><a name="introduction" id="introduction">Giriş</a></h2>
111 <p>Sitenizde sadece küçük bir grup insana hitap eden ya da hassas
112 bilgileriniz varsa, bu makaledeki teknikleri kullanarak dilediğiniz
113 kişilerin sadece dilediğiniz sayfaları görüntülemesini
114 sağlayabilirsiniz.</p>
116 <p>Bu makale sitenizin bazı parçalarını korumak için kullanacağınız
117 "standart" yolları içermektedir.</p>
119 <div class="note"><h3>Bilginize:</h3>
120 <p>Eğer bilgileriniz gerçekten gizliliğe ihtiyaç duyuyorsa kimlik
121 doğrulamasına ilaveten <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> modülünü de
122 kullanabilirsiniz.</p>
125 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
126 <div class="section">
127 <h2><a name="theprerequisites" id="theprerequisites">Ön gereksinimler</a></h2>
129 <p>Bu makalede bahsi geçen yönergeler ya ana sunucu yapılandırma
130 dosyasında (genellikle <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümünde) ya da dizin içi
131 yapılandırma dosyalarında (<code>.htaccess</code> dosyaları)
132 bulunmak zorundadır.</p>
134 <p>Eğer <code>.htaccess</code> dosyalarını kullanmayı
135 tasarlıyorsanız, kimlik doğrulama yönergelerine bu dosyaların içine
136 koymaya izin veren sunucu yapılandırmasına ihtiyacınız olacaktır.
137 Bunun için, dizin içi yapılandırma dosyalarının içine hangi
138 yönergelerin konacağını belirleyen <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesi kullanılır.</p>
140 <p>Kimlik doğrulamadan sözettiğimize göre, aşağıda gösterilen
141 şekilde bir <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesine ihtiyacınız olacaktır:</p>
143 <div class="example"><p><code>
144 AllowOverride AuthConfig
147 <p>Yönergeleri doğrudan ana sunucunun yapılandırma dosyasına
148 koyacaksanız bu dosyaya yazma izniniz olmalıdır.</p>
150 <p>Bazı dosyaların nerede saklandığını bilmek için sunucunun dizin
151 yapısı hakkında biraz bilgi sahibi olmanız gerekmektedir. Bu çok da
152 zor olmamakla birlikte bu noktaya gelindiğinde konuyu
155 <p>Ayrıca <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
156 <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri ya <code>httpd</code>
157 çalıştırılabilirinin içinde derlenmiş olmalı ya da
158 <code>httpd.conf</code> yapılandırma dosyası ile yüklenmelidir. Bu
159 iki modül HTTP sunucusunda kimlik doğrulama ve yetkilendirme
160 kullanımı ve yapılandırması için büyük öneme sahip temel yönergeleri
161 ve işlevselliği sağlar.</p>
163 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
164 <div class="section">
165 <h2><a name="gettingitworking" id="gettingitworking">Çalışmaya Başlama</a></h2>
166 <p>Burada, sunucu üzerindeki bir dizini parolayla korumak için
167 gereken temel bilgiler verilecektir.</p>
169 <p>İlk olarak bir parola dosyası oluşturmalısınız. Bunu nasıl
170 yapacağınız, özellikle, seçtiğiniz kimlik doğrulayıcıya göre
171 değişiklik gösterir. Bunun üzerinde ileride daha fazla duracağız.
172 Başlangıç için parolaları bir metin dosyasında tutacağız.</p>
174 <p>Bu dosya belge kök dizini altında olmamalıdır. Böylece başkaları
175 parola dosyasını indiremezler. Örneğin belgeleriniz
176 <code>/usr/local/apache/htdocs</code> üzerinden sunuluyorsa parola
177 dosyanızı <code>/usr/local/apache/passwd</code> dizininde
180 <p>Dosyayı oluşturmak için Apache ile gelen
181 <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> uygulamasını kullanacağız. Bu uygulama
182 Apache'nin kurulumunda belirtilen <code>bin</code> dizininde
183 bulunur. Eğer Apache'yi üçüncü parti paketlerden kurduysanız,
184 çalıştırılabilir dosyaların bulunduğu yollar üzerinde olmalıdır.</p>
186 <p>Bir dosya oluşturmak için şunları yazın:</p>
188 <div class="example"><p><code>
189 htpasswd -c /usr/local/apache/passwd/passwords umut
192 <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> size parola soracaktır arkasından da
193 teyit etmek için parolayı tekrar girmenizi isteyecektir:</p>
195 <div class="example"><p><code>
196 # htpasswd -c /usr/local/apache/passwd/passwords umut<br />
197 New password: parolam<br />
198 Re-type new password: parolam<br />
199 Adding password for user umut
202 <p>Eğer <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> normal yollar üzerinde değilse
203 çalıştırmak için dosyanın bulunduğu tam yeri belirtmeniz
204 gerekecektir. Dosyanın öntanımlı kurulum yeri:
205 <code>/usr/local/apache2/bin/htpasswd</code></p>
207 <p>Bundan sonra, sunucuyu, parola sorması için ve kimlerin erişim
208 izni olacağını belirlemek için yapılandıracaksınız. Bu işlemi
209 <code>httpd.conf</code>dosyasını düzenleyerek ya da bir
210 <code>.htaccess</code> dosyası kullanarak yapabilirsiniz. Örneğin,
211 <code>/usr/local/apache/htdocs/secret</code> dizinini korumayı
212 amaçlıyorsanız, şu yönergeleri kullanabilirsiniz. Bu yönergeleri
213 <code>/usr/local/apache/htdocs/secret/.htaccess</code> dosyası içine
214 veya <code>httpd.conf</code> içindeki <Directory
215 /usr/local/apache/htdocs/secret> bölümüne koyabilirsiniz.</p>
217 <div class="example"><p><code>
219 AuthName "Gizli Dosyalar"<br />
220 # (Aşağıdaki satırın kullanımı isteğe bağlıdır)<br />
221 AuthBasicProvider file<br />
222 AuthUserFile /usr/local/apache/passwd/passwords<br />
226 <p>Bu yönergeleri tek tek inceleyelim.
227 <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi
228 kullanıcının kimliğini doğrulamakta kullanılacak yöntemi seçer. En
229 çok kullanılan yöntem <code>Basic</code>'tir ve bu yöntem
230 <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> modülüyle gerçeklenmiştir. Temel
231 (<code>Basic</code>) kimlik doğrulamasıyla gönderilen parolanın
232 şifrelenmeyeceğini unutmayın. Bu yöntem, bu sebepten dolayı
233 <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> eşliğinde kullanılmadığı sürece yüksek
234 hassasiyete sahip bilgiler için kullanılmamalıdır. Apache bir başka
235 kimlik doğrulama yöntemini daha destekler: <code>AuthType
236 Digest</code>. Bu yöntem <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> tarafından
237 gerçeklenmiştir ve çok daha güvenlidir. Güncel tarayıcılar, Özet
238 (<code>Digest</code>) kimlik doğrulama yöntemini
239 desteklemektedir.</p>
241 <p><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code> yönergesi
242 ile kimlik doğrulamada kullanılacak <dfn>Saha</dfn> da
243 belirtilebilir. Saha kullanımının, başlıca iki işlevi vardır.
244 Birincisi, istemci sıklıkla bu bilgiyi kullanıcıya parola diyalog
245 kutusunun bir parçası olarak sunar. İkincisi, belirtilen kimlik
246 doğrulamalı alan için gönderilecek parolayı belirlerken istemci
247 tarafından kullanılır.</p>
249 <p>Örneğin, bir istemcinin <code>"Gizli Dosyalar"</code> alanında
250 kimliği doğrulanmış olsun. Aynı sunucu üzerinde <code>"Gizli
251 Dosyalar"</code> Sahası olarak belirlenmiş alanlarda aynı parola
252 özdevinimli olarak yinelenecektir. Böylece parola bir kere girilerek
253 aynı Sahayı paylaşan çok sayıda kısıtlanmış alana ulaşırken oluşacak
254 gecikmeden kullanıcı korunmuş olur. Güvenlik gerekçelerinden dolayı,
255 her sunucu adı değiştirilişinde istemcinin parolayı yeniden sorması
258 <p><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
259 yönergesinin öntanımlı değeri <code>file</code> olduğundan, bu
260 durumda, bu yönergenin kullanımı isteğe bağlıdır. Ancak, eğer kimlik
261 doğrulaması için <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ya da
262 <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> gibi farklı bir kaynak seçecekseniz
263 bu yönergeyi kullanmanız gerekecektir.</p>
265 <p><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
266 yönergesi <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> ile oluşturduğumuz parola
267 dosyasının yerini belirtmek için kullanılır. Eğer çok sayıda
268 kullanıcınız varsa her bir kullanıcıyı her kimlik doğrulama isteği
269 için kimlik bilgilerini bir metin dosyasında aramak gayet yavaş
270 olacaktır. Apache, kullanıcı bilgilerini hızlı bir veritabanı
271 dosyasında depolama özelliğine de sahiptir. Bu amaçla,
272 <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> modülünün
273 <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>
274 yönergesi kullanılabilir. Bu dosyalar <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code>
275 programı ile oluşturulabilir ve değiştirilebilir. <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>
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>
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
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
299 <div class="example"><p><code>
300 GroupName: umut samet engin kubilay
303 <p>Dosya, sadece, boşluklarla birbirinden ayrılmış gurup üyelerinin
304 isimlerinden oluşan uzun bir liste içerir.</p>
306 <p>Varolan parola dosyasına bir kullanıcı eklemek için şunu
309 <div class="example"><p><code>
310 htpasswd /usr/local/apache/passwd/passwords birey
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
318 <p>Şimdi, <code>.htaccess</code> dosyanızı aşağıda görüldüğü şekilde
319 değiştirebilirsiniz:</p>
321 <div class="example"><p><code>
323 AuthName "Davete Binaen"<br />
324 # Satır isteğe bağlıdır:<br />
325 AuthBasicProvider file<br />
326 AuthUserFile /usr/local/apache/passwd/passwords<br />
327 AuthGroupFile /usr/local/apache/passwd/groups<br />
328 Require group Grupismi
331 <p>Artık, <code>Grupismi</code> gurubunda listelenmiş ve
332 <code>password</code> dosyasında kaydı olan kişiye, parolayı doğru
333 yazdığı takdirde izin verilecektir.</p>
335 <p>Çoklu kullanıcıya izin veren biraz daha az kullanılan başka bir
336 yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi
337 kullanabilirsiniz:</p>
339 <div class="example"><p><code>
343 <p><code>Require user umut</code> satırı ile parola dosyasında
344 listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin
345 vermektense, her grup için ayrı bir parola dosyası tutarak grup
346 davranışını taklit edebilirsiniz. Bu yaklaşımın getirisi:
347 Apache iki dosya yerine sadece bir dosyaya bakar.
348 Götürüsü ise parola dosyalarından oluşan bir dosya demeti sağlamak
349 ve <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
350 yönergesinde doğru dosyayı belirtmeyi unutmamak zorunda
353 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
354 <div class="section">
355 <h2><a name="possibleproblems" id="possibleproblems">Olası Sorunlar</a></h2>
356 <p>Temel kimlik doğrulama yolu belirtildiği için, sunucuya
357 yaptığınız her belge istediğinde kullanıcı adınızın ve parolanızın
358 doğrulanması gerekir. Hatta aynı sayfayı yeniden yüklerken ya da
359 sayfadaki her bir resim için bu yapılmalıdır (şayet korunmakta olan
360 bir dizinden geliyorsa). Bu işlem hızı azaltacaktır. Yavaşlama
361 miktarı parola dosyanızın büyüklüğü ile orantılı olacaktır, çünkü bu
362 işlem sırasında dosya açılacak ve kullanıcıların arasında isminiz
363 bulunana kadar liste aşağı doğru taranacaktır. Bu işlem sayfa her
364 yüklenişinde tekrar edilecektir.</p>
366 <p>Buradan çıkacak sonuç, bir parola dosyasına konulan kullanıcı
367 sayısında bir üst sınır olması gerekliliğidir. Bu sınır sunucunuzun
368 başarımına bağlı olarak değişiklik gösterir. Bir kaç yüz kayıtın
369 üstünde giriş yaptığınızda hız düşüşünü gözlemlebilirsiniz İşte bu
370 anda kimlik doğrulama için başka bir yöntem aramaya başlarsınız.</p>
372 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
373 <div class="section">
374 <h2><a name="dbmdbd" id="dbmdbd">Diğer parola depolama yöntemleri</a></h2>
376 <p>Parolaları basit bir metin dosyasında depolamak yukarıda
377 bahsedilen sorunlara yol açtığından parolaları başka bir yerde
378 depolamayı düşünebilirsiniz; örneğin bir veritabanında.</p>
380 <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>
381 modülleri bunu mümkün kılan iki modüldür. Depolama yönemi olarak
382 <code><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> file</code> yerine, <code>dbm</code>
383 veya <code>dbd</code> kullanabilirsiniz.</p>
385 <p>Bir metin dosyası yerine bir dbd dosyası kullanım örneği:</p>
387 <div class="example"><p><code>
388 <Directory /www/docs/private><br />
389 <span class="indent">
390 AuthName "Private"<br />
392 AuthBasicProvider dbm<br />
393 AuthDBMUserFile /www/passwords/passwd.dbm<br />
394 Require valid-user<br />
399 <p>Başka seçenekler de mümkündür. Ayrınılar için
400 <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> belgesine başvurun.</p>
402 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
403 <div class="section">
404 <h2><a name="multprovider" id="multprovider">Birden çok tedarikçi kullanmak</a></h2>
406 <p>Kimlik doğrulama ve yetkilendirme mimarisine dayalı yeni
407 tedarikçiyi kullanarak tek bir yetkilendirme ya da kimlik doğrulama
408 yöntemine kilitlenip kalmayacaksınız. Aslında birden çok tedarikçi
409 ihtiyacınıza cevap vermek için bir arada kullanılabilir. Aşağıdaki
410 örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir
411 arada kullanılmıştır.</p>
413 <div class="example"><p><code>
414 <Directory /www/docs/private><br />
415 <span class="indent">
416 AuthName "Private"<br />
418 AuthBasicProvider file ldap<br />
419 AuthUserFile /usr/local/apache/passwd/passwords<br />
420 AuthLDAPURL ldap://ldaphost/o=yourorg<br />
421 Require valid-user<br />
426 <p>Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini
427 doğrulamaya teşebbüs edecektir. Kullanıcının kimliği
428 doğrulanamıyorsa LDAP tedarikçisi çağırılır. Eğer kurumunuz birden
429 çok kimlik doğrulama tedarikçisini yürürlüğe koyuyorsa bu, kimlik
430 doğrulama faaliyet alanının genişletilmesini sağlar. Diğer kimlik
431 kanıtlama ve yetkilendirme senaryoları tek bir kimlik doğrulaması
432 ile birden fazla yetkilendirme türüne izin verebilir.</p>
434 <p>Çok sayıda kimlik doğrulama tedarikçisi uygulamaya konulabileceği
435 gibi, çok sayıda yetkilendirme yöntemi de kullanılabilir. Bu örnekte
436 dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması
439 <div class="example"><p><code>
440 <Directory /www/docs/private><br />
441 <span class="indent">
442 AuthName "Private"<br />
444 AuthBasicProvider file<br />
445 AuthUserFile /usr/local/apache/passwd/passwords<br />
446 AuthLDAPURL ldap://ldaphost/o=yourorg
447 AuthGroupFile /usr/local/apache/passwd/groups<br />
448 Require group GroupName<br />
449 Require ldap-group cn=mygroup,o=yourorg<br />
454 <p>Kimlik doğrulama konusunu biraz daha genişletirsek, <code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code> ve
455 <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code> gibi yetkilendirme taşıyıcısı
456 yönergelerle hangi iznin hangi sırayla uygulanacağını
457 belirlenebilir. <a href="../mod/mod_authz_core.html#logic">Yetkilendirme Taşıyıcıları</a> bölümünde bunun bir uygulama
458 örneğini görebilirsiniz.</p>
460 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
461 <div class="section">
462 <h2><a name="beyond" id="beyond">Yetkilendirmenin biraz ötesi</a></h2>
463 <p>Tek bir veri deposundan yapılacak tek bir sınamadan çok daha
464 esnek kimlik doğrulaması yapılabilir. Sıralama, mantık ve hangi
465 kimlik doğrulamasının kullanılacağını seçmek mümkündür.</p>
467 <h3><a name="authandororder" id="authandororder">Mantık ve sıralamanın uygulanması</a></h3>
469 <p>Yetkilendirmenin hangi sırayla uygulanacağı ve nasıl
470 denetleneceği geçmişte biraz gizemli bir konuydu. Apache 2.2'de,
471 tedarikçi tabanlı kimlik doğrulamasının devreye girmesiyle asıl
472 kimlik doğrulama işlemini yetkilendirme ve destek işlevselliğinden
473 ayırmak mümkün oldu. Bunun faydalarından birisi de kimlik
474 doğrulama tedarikçilerinin yapılandırılabilmesi ve auth modülünün
475 kendi yükleme sırasından bağımsız olarak özel bir sırayla
476 çağrılabilmesidir. Bu tedarikçi tabanlı mekanizmanın aynısı
477 yetkilendirmeye de getirilmiştir. Bunun anlamı <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinde hangi
478 izin yönteminin kullanılması gerektiğinin belirtmesinin yanında
479 hangi sırayla çağırılacaklarının da belirlenebildiğidir. Çok
480 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
481 yapılandırma dosyasında göründükleri sıra ile çağırılır.</p>
483 <p><code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code> ve <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code> gibi yetkilendirme
484 taşıyıcısı yönergelerin devreye girmesiyle yetkilendirme
485 yöntemlerinin ne zaman çağırılacağı ve çağırıldığında ve erişime
486 izin verirken hangi kuralların uygulanacağı konusunda denetim
487 yapılandırmanın eline geçmektedir. Karmaşık yetkilendime mantığını
488 ifade etmek için kullanılan bir örneği görmek için
489 <a href="../mod/mod_authz_core.html#logic">Yetkilendirme
490 Taşıyıcıları</a> bölümüne bakınız.</p>
492 <p>Öntanımlı olarak tüm <code class="directive"><a href="../mod/mod_authz_core.html# require">
493 Require</a></code> yönergeleri, <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code>
494 taşıyıcı yönergesinin içine konur. Başka bir deyişle eğer
495 belirtilen kimlik doğrulama yöntemlerinden herhangi biri başarılı
496 olursa yetkilendirme de sağlanmış olur.</p>
500 <h3><a name="reqaccessctrl" id="reqaccessctrl">Erişim denetimi için yetkilendirme tedarikçilerinin
503 <p>Kullanıcı adı ve parolasına göre kimlik doğrulama hikayenin
504 sadece bir bölümüdür. Sıklıkla insanlara kim olduklarına göre
505 değil birşeylere dayanarak izin vermek istersiniz. Örneğin nereden
508 <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
509 tedarikçileri ile, bir belgenin istendiği makinenin IP adresi veya
510 konak ismi gibi bazı özelliklerine dayalı olarak erişime izin
511 verip vermeyeceğinizi belirtebilirsiniz.</p>
513 <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,
514 isteklerin işlenmesi sırasında yetkilendirme aşamasında
515 çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin:
518 <div class="example"><p><code>
519 Require ip <var>adres</var>
522 <p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP
525 <div class="example"><p><code>
526 Require host <var>alan_adı</var>
529 <p>Burada, <var>alan_adı</var> bir tam nitelikli alan adıdır
530 (ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP
531 adresi de belirtilebilir.</p>
533 <p>Örneğin, yorum alanını gereksiz iletilerle dolduran birini uzak
534 tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları
537 <div class="example"><p><code>
539 <span class="indent">
540 Require all granted<br />
541 Require not ip 10.252.46.165
546 <p>Bu adresden gelen ziyaretçiler bu yönergedeki içeriği
547 göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de
548 makine adı varsa şunu kullanabilirsiniz:</p>
550 <div class="example"><p><code>
552 <span class="indent">
553 Require all granted<br />
554 Require not host <var>host.example.com</var>
559 <p>Eğer alan adının tamanıdan gelecek olan bütün erişimleri
560 engellemek isterseniz adresin ya da alan adının bir parçasını
563 <div class="example"><p><code>
565 <span class="indent">
566 Require all granted<br />
568 <span class="indent">
569 Require ip 192.168.205<br />
570 Require host phishers.example.com moreidiots.example<br />
578 <p>Yukarıdaki örnekte, <code class="directive"><a href="../mod/mod_authz_core.html#requirenone"><RequireNone></a></code> yönergesi içindeki
579 <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
580 yönergelerinin değiştirgeleriyle hiçbir bir eşleşme olmaması
581 durumunda erişime izin verilir.</p>
585 <h3><a name="filesystem" id="filesystem">Erişim denetimi ve geriye uyumluluk</a></h3>
587 <p>Kimlik doğrulama için tedarik tabanlı mekanizma kullanımının
588 yan etkilerinden birisi,
589 <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>,
590 <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>,
591 <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> ve
592 <code class="directive"><a href="../mod/mod_access_compat.html#satisfy">Satisfy</a></code> erişim
593 denetim yönergelerine artık ihtiyaç duyulmamasıdır. Ancak eski
594 yapılandırmalarla uyumluluğu sağlamak için bu yönergeler
595 <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> modülüne taşınmıştır.</p>
599 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
600 <div class="section">
601 <h2><a name="socache" id="socache">Kimlik Doğrulama Arabelleği</a></h2>
602 <p>Zaman zaman kimlik doğrulama ağınızda veya sağlayıcı(ları)nızda kabul
603 edilemez yükler oluşturur. Bu çoğunlukla <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>
604 (veya üçüncü parti/özel sağlayıcıların) kullanıcılarını etkiler. Bununla
605 ilgilenmek için httpd 2.3/2.4, kimlik bilgilerini arabelleklemek ve özgün
606 sağlayıcıların yüklerini azaltmak için yeni bir arabellekleme sağlayıcısı
607 olarak <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> modülü ile gelmektedir.</p>
608 <p>Bu, bazı kullanıcılar için önemli bir başarım artışı sağlayabilir.</p>
609 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
610 <div class="section">
611 <h2><a name="moreinformation" id="moreinformation">Daha fazla bilgi</a></h2>
612 <p>Daha fazla bilgi için <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ve
613 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modüllerinin belgelerine bakınız.
614 <code class="directive"><a href="../mod/mod_authn_core.html#<authnprovideralias>"><AuthnProviderAlias></a></code>
615 yönergesi ile bazı yapılandırmalarınızı basitleştirebilirsiniz.</p>
617 <p>Apache tarafından desteklenen şifrelerle ilgili bilgi için <a href="../misc/password_encryptions.html">Parola Biçemleri</a>
618 belgesine bakınız.</p>
620 <p><a href="access.html">Erişim Denetimi</a> nasıl belgesinden de
621 bazı bilgiler edinebilirsiniz.</p>
623 <div class="bottomlang">
624 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> |
625 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
626 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
627 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
628 <a href="../tr/howto/auth.html" title="Türkçe"> tr </a></p>
629 </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&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>
630 <script type="text/javascript"><!--//--><![CDATA[//><!--
631 var comments_shortname = 'httpd';
632 var comments_identifier = 'http://httpd.apache.org/docs/2.4/howto/auth.html';
634 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
635 d.write('<div id="comments_thread"><\/div>');
636 var s = d.createElement('script');
637 s.type = 'text/javascript';
639 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
640 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
643 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
645 })(window, document);
646 //--><!]]></script></div><div id="footer">
647 <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>
648 <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[//><!--
649 if (typeof(prettyPrint) !== 'undefined') {