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="../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>
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>
35 <p>Genel erişim denetimi için <a href="access.html">Erişim Denetimi
36 Nasıl</a> belgesine bakınız.</p>
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>
50 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
52 <h2><a name="related" id="related">İlgili modüller ve Yönergeler</a></h2>
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>
58 <li>Kimlik Doğrulama türü (bkz. <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi)
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>
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)
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>
77 <li>Yetkilendirme (bkz.
78 <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesi)
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>
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
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>
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
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>
115 <p>Bu makale sitenizin bazı parçalarını korumak için kullanacağınız
116 "standart" yolları içermektedir.</p>
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>
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>
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"><Directory></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>
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>
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>
142 <div class="example"><p><code>
143 AllowOverride AuthConfig
146 <p>Yönergeleri doğrudan ana sunucunun yapılandırma dosyasına
147 koyacaksanız bu dosyaya yazma izniniz olmalıdır.</p>
149 <p>Bazı dosyaların nerede saklandığını bilmek için sunucunun dizin
150 yapısı hakkında biraz bilgi sahibi olmanız gerekmektedir. Bu çok da
151 zor olmamakla birlikte bu noktaya gelindiğinde konuyu
154 <p>Ayrıca <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
155 <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri ya <code>httpd</code>
156 çalıştırılabilirinin içinde derlenmiş olmalı ya da
157 <code>httpd.conf</code> yapılandırma dosyası ile yüklenmelidir. Bu
158 iki modül HTTP sunucusunda kimlik doğrulama ve yetkilendirme
159 kullanımı ve yapılandırması için büyük öneme sahip temel yönergeleri
160 ve işlevselliği sağlar.</p>
162 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
163 <div class="section">
164 <h2><a name="gettingitworking" id="gettingitworking">Çalışmaya Başlama</a></h2>
165 <p>Burada, sunucu üzerindeki bir dizini parolayla korumak için
166 gereken temel bilgiler verilecektir.</p>
168 <p>İlk olarak bir parola dosyası oluşturmalısınız. Bunu nasıl
169 yapacağınız, özellikle, seçtiğiniz kimlik doğrulayıcıya göre
170 değişiklik gösterir. Bunun üzerinde ileride daha fazla duracağız.
171 Başlangıç için parolaları bir metin dosyasında tutacağız.</p>
173 <p>Bu dosya belge kök dizini altında olmamalıdır. Böylece başkaları
174 parola dosyasını indiremezler. Örneğin belgeleriniz
175 <code>/usr/local/apache/htdocs</code> üzerinden sunuluyorsa parola
176 dosyanızı <code>/usr/local/apache/passwd</code> dizininde
179 <p>Dosyayı oluşturmak için Apache ile gelen
180 <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> uygulamasını kullanacağız. Bu uygulama
181 Apache'nin kurulumunda belirtilen <code>bin</code> dizininde
182 bulunur. Eğer Apache'yi üçüncü parti paketlerden kurduysanız,
183 çalıştırılabilir dosyaların bulunduğu yollar üzerinde olmalıdır.</p>
185 <p>Bir dosya oluşturmak için şunları yazın:</p>
187 <div class="example"><p><code>
188 htpasswd -c /usr/local/apache/passwd/passwords umut
191 <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> size parola soracaktır arkasından da
192 teyit etmek için parolayı tekrar girmenizi isteyecektir:</p>
194 <div class="example"><p><code>
195 # htpasswd -c /usr/local/apache/passwd/passwords umut<br />
196 New password: parolam<br />
197 Re-type new password: parolam<br />
198 Adding password for user umut
201 <p>Eğer <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> normal yollar üzerinde değilse
202 çalıştırmak için dosyanın bulunduğu tam yeri belirtmeniz
203 gerekecektir. Dosyanın öntanımlı kurulum yeri:
204 <code>/usr/local/apache2/bin/htpasswd</code></p>
206 <p>Bundan sonra, sunucuyu, parola sorması için ve kimlerin erişim
207 izni olacağını belirlemek için yapılandıracaksınız. Bu işlemi
208 <code>httpd.conf</code>dosyasını düzenleyerek ya da bir
209 <code>.htaccess</code> dosyası kullanarak yapabilirsiniz. Örneğin,
210 <code>/usr/local/apache/htdocs/secret</code> dizinini korumayı
211 amaçlıyorsanız, şu yönergeleri kullanabilirsiniz. Bu yönergeleri
212 <code>/usr/local/apache/htdocs/secret/.htaccess</code> dosyası içine
213 veya <code>httpd.conf</code> içindeki <Directory
214 /usr/local/apache/htdocs/secret> bölümüne koyabilirsiniz.</p>
216 <div class="example"><p><code>
218 AuthName "Gizli Dosyalar"<br />
219 # (Aşağıdaki satırın kullanımı isteğe bağlıdır)<br />
220 AuthBasicProvider file<br />
221 AuthUserFile /usr/local/apache/passwd/passwords<br />
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>
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>
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ı
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>
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>
274 programı ile oluşturulabilir ve değiştirilebilir. <a href="http://modules.apache.org/">Apache modülleri
275 Veritabanı</a> içindeki üçüncü parti modüllerinde çok sayıda
276 başka kimlik doğrulama türü de vardır.</p>
278 <p>Son olarak <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
279 yönergesi, sunucunun bu bölgesine erişimine izin verilen
280 kullanıcıları ayarlama işleminin kimlik doğrulamasıyla ilgili
281 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
282 çeşitli yoları üzerinde duracağız.</p>
283 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
284 <div class="section">
285 <h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></h2>
287 <p>Yukarıdaki yönergelerle bir dizinde sadece bir kişiye
288 (<code>umut</code> adlı kullanıcıya) izin verir. Çoğunlukla birden
289 çok kişiye izin verilmesi istenir. Bu durumda <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> yönergesi
292 <p>Eğer birden çok kişiye izin vermek istiyorsanız içinde kullanıcı
293 isimlerinin olduğu bir grup dosyası oluşturmalısınız. Bu dosyanın
294 biçemi gayet basittir ve bunu herhangi bir metin düzenleyici ile
295 oluşturabilirsiniz. Bu dosyanın içeriği aşağıdaki gibi
298 <div class="example"><p><code>
299 GroupName: umut samet engin kubilay
302 <p>Dosya, sadece, boşluklarla birbirinden ayrılmış gurup üyelerinin
303 isimlerinden oluşan uzun bir liste içerir.</p>
305 <p>Varolan parola dosyasına bir kullanıcı eklemek için şunu
308 <div class="example"><p><code>
309 htpasswd /usr/local/apache/passwd/passwords birey
312 <p>Evvelce almış olduğunuz yanıtı yine alacaksınız ama bu sefer yeni
313 bir dosya oluşturulmak yerine var olan bir dosyaya eklenecektir.
314 (Yeni bir parola dosyası oluşturmak için <code>-c</code> seçeneği
317 <p>Şimdi, <code>.htaccess</code> dosyanızı aşağıda görüldüğü şekilde
318 değiştirebilirsiniz:</p>
320 <div class="example"><p><code>
322 AuthName "Davete Binaen"<br />
323 # Satır isteğe bağlıdır:<br />
324 AuthBasicProvider file<br />
325 AuthUserFile /usr/local/apache/passwd/passwords<br />
326 AuthGroupFile /usr/local/apache/passwd/groups<br />
327 Require group Grupismi
330 <p>Artık, <code>Grupismi</code> gurubunda listelenmiş ve
331 <code>password</code> dosyasında kaydı olan kişiye, parolayı doğru
332 yazdığı takdirde izin verilecektir.</p>
334 <p>Çoklu kullanıcıya izin veren biraz daha az kullanılan başka bir
335 yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi
336 kullanabilirsiniz:</p>
338 <div class="example"><p><code>
342 <p><code>Require user umut</code> satırı ile parola dosyasında
343 listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin
344 vermektense, her grup için ayrı bir parola dosyası tutarak grup
345 davranışını taklit edebilirsiniz. Bu yaklaşımın getirisi:
346 Apache iki dosya yerine sadece bir dosyaya bakar.
347 Götürüsü ise parola dosyalarından oluşan bir dosya demeti sağlamak
348 ve <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
349 yönergesinde doğru dosyayı belirtmeyi unutmamak zorunda
352 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
353 <div class="section">
354 <h2><a name="possibleproblems" id="possibleproblems">Olası Sorunlar</a></h2>
355 <p>Temel kimlik doğrulama yolu belirtildiği için, sunucuya
356 yaptığınız her belge istediğinde kullanıcı adınızın ve parolanızın
357 doğrulanması gerekir. Hatta aynı sayfayı yeniden yüklerken ya da
358 sayfadaki her bir resim için bu yapılmalıdır (şayet korunmakta olan
359 bir dizinden geliyorsa). Bu işlem hızı azaltacaktır. Yavaşlama
360 miktarı parola dosyanızın büyüklüğü ile orantılı olacaktır, çünkü bu
361 işlem sırasında dosya açılacak ve kullanıcıların arasında isminiz
362 bulunana kadar liste aşağı doğru taranacaktır. Bu işlem sayfa her
363 yüklenişinde tekrar edilecektir.</p>
365 <p>Buradan çıkacak sonuç, bir parola dosyasına konulan kullanıcı
366 sayısında bir üst sınır olması gerekliliğidir. Bu sınır sunucunuzun
367 başarımına bağlı olarak değişiklik gösterir. Bir kaç yüz kayıtın
368 üstünde giriş yaptığınızda hız düşüşünü gözlemlebilirsiniz İşte bu
369 anda kimlik doğrulama için başka bir yöntem aramaya başlarsınız.</p>
371 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
372 <div class="section">
373 <h2><a name="dbmdbd" id="dbmdbd">Diğer parola depolama yöntemleri</a></h2>
375 <p>Parolaları basit bir metin dosyasında depolamak yukarıda
376 bahsedilen sorunlara yol açtığından parolaları başka bir yerde
377 depolamayı düşünebilirsiniz; örneğin bir veritabanında.</p>
379 <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>
380 modülleri bunu mümkün kılan iki modüldür. Depolama yönemi olarak
381 <code><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> file</code> yerine, <code>dbm</code>
382 veya <code>dbd</code> kullanabilirsiniz.</p>
384 <p>Bir metin dosyası yerine bir dbd dosyası kullanım örneği:</p>
386 <div class="example"><p><code>
387 <Directory /www/docs/private><br />
388 <span class="indent">
389 AuthName "Private"<br />
391 AuthBasicProvider dbm<br />
392 AuthDBMUserFile /www/passwords/passwd.dbm<br />
393 Require valid-user<br />
398 <p>Başka seçenekler de mümkündür. Ayrınılar için
399 <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> belgesine başvurun.</p>
401 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
402 <div class="section">
403 <h2><a name="multprovider" id="multprovider">Birden çok tedarikçi kullanmak</a></h2>
405 <p>Kimlik doğrulama ve yetkilendirme mimarisine dayalı yeni
406 tedarikçiyi kullanarak tek bir yetkilendirme ya da kimlik doğrulama
407 yöntemine kilitlenip kalmayacaksınız. Aslında birden çok tedarikçi
408 ihtiyacınıza cevap vermek için bir arada kullanılabilir. Aşağıdaki
409 örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir
410 arada kullanılmıştır.</p>
412 <div class="example"><p><code>
413 <Directory /www/docs/private><br />
414 <span class="indent">
415 AuthName "Private"<br />
417 AuthBasicProvider file ldap<br />
418 AuthUserFile /usr/local/apache/passwd/passwords<br />
419 AuthLDAPURL ldap://ldaphost/o=yourorg<br />
420 Require valid-user<br />
425 <p>Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini
426 doğrulamaya teşebbüs edecektir. Kullanıcının kimliği
427 doğrulanamıyorsa LDAP tedarikçisi çağırılır. Eğer kurumunuz birden
428 çok kimlik doğrulama tedarikçisini yürürlüğe koyuyorsa bu, kimlik
429 doğrulama faaliyet alanının genişletilmesini sağlar. Diğer kimlik
430 kanıtlama ve yetkilendirme senaryoları tek bir kimlik doğrulaması
431 ile birden fazla yetkilendirme türüne izin verebilir.</p>
433 <p>Çok sayıda kimlik doğrulama tedarikçisi uygulamaya konulabileceği
434 gibi, çok sayıda yetkilendirme yöntemi de kullanılabilir. Bu örnekte
435 dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması
438 <div class="example"><p><code>
439 <Directory /www/docs/private><br />
440 <span class="indent">
441 AuthName "Private"<br />
443 AuthBasicProvider file<br />
444 AuthUserFile /usr/local/apache/passwd/passwords<br />
445 AuthLDAPURL ldap://ldaphost/o=yourorg
446 AuthGroupFile /usr/local/apache/passwd/groups<br />
447 Require group GroupName<br />
448 Require ldap-group cn=mygroup,o=yourorg<br />
453 <p>Kimlik doğrulama konusunu biraz daha genişletirsek, <code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code> ve
454 <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code> gibi yetkilendirme taşıyıcısı
455 yönergelerle hangi iznin hangi sırayla uygulanacağını
456 belirlenebilir. <a href="../mod/mod_authz_core.html#logic">Yetkilendirme Taşıyıcıları</a> bölümünde bunun bir uygulama
457 örneğini görebilirsiniz.</p>
459 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
460 <div class="section">
461 <h2><a name="beyond" id="beyond">Yetkilendirmenin biraz ötesi</a></h2>
462 <p>Tek bir veri deposundan yapılacak tek bir sınamadan çok daha
463 esnek kimlik doğrulaması yapılabilir. Sıralama, mantık ve hangi
464 kimlik doğrulamasının kullanılacağını seçmek mümkündür.</p>
466 <h3><a name="authandororder" id="authandororder">Mantık ve sıralamanın uygulanması</a></h3>
468 <p>Yetkilendirmenin hangi sırayla uygulanacağı ve nasıl
469 denetleneceği geçmişte biraz gizemli bir konuydu. Apache 2.2'de,
470 tedarikçi tabanlı kimlik doğrulamasının devreye girmesiyle asıl
471 kimlik doğrulama işlemini yetkilendirme ve destek işlevselliğinden
472 ayırmak mümkün oldu. Bunun faydalarından birisi de kimlik
473 doğrulama tedarikçilerinin yapılandırılabilmesi ve auth modülünün
474 kendi yükleme sırasından bağımsız olarak özel bir sırayla
475 çağrılabilmesidir. Bu tedarikçi tabanlı mekanizmanın aynısı
476 yetkilendirmeye de getirilmiştir. Bunun anlamı <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinde hangi
477 izin yönteminin kullanılması gerektiğinin belirtmesinin yanında
478 hangi sırayla çağırılacaklarının da belirlenebildiğidir. Çok
479 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
480 yapılandırma dosyasında göründükleri sıra ile çağırılır.</p>
482 <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
483 taşıyıcısı yönergelerin devreye girmesiyle yetkilendirme
484 yöntemlerinin ne zaman çağırılacağı ve çağırıldığında ve erişime
485 izin verirken hangi kuralların uygulanacağı konusunda denetim
486 yapılandırmanın eline geçmektedir. Karmaşık yetkilendime mantığını
487 ifade etmek için kullanılan bir örneği görmek için
488 <a href="../mod/mod_authz_core.html#logic">Yetkilendirme
489 Taşıyıcıları</a> bölümüne bakınız.</p>
491 <p>Öntanımlı olarak tüm <code class="directive"><a href="../mod/mod_authz_core.html# require">
492 Require</a></code> yönergeleri, <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code>
493 taşıyıcı yönergesinin içine konur. Başka bir deyişle eğer
494 belirtilen kimlik doğrulama yöntemlerinden herhangi biri başarılı
495 olursa yetkilendirme de sağlanmış olur.</p>
499 <h3><a name="reqaccessctrl" id="reqaccessctrl">Erişim denetimi için yetkilendirme tedarikçilerinin
502 <p>Kullanıcı adı ve parolasına göre kimlik doğrulama hikayenin
503 sadece bir bölümüdür. Sıklıkla insanlara kim olduklarına göre
504 değil birşeylere dayanarak izin vermek istersiniz. Örneğin nereden
507 <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
508 tedarikçileri ile, bir belgenin istendiği makinenin IP adresi veya
509 konak ismi gibi bazı özelliklerine dayalı olarak erişime izin
510 verip vermeyeceğinizi belirtebilirsiniz.</p>
512 <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,
513 isteklerin işlenmesi sırasında yetkilendirme aşamasında
514 çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin:
517 <div class="example"><p><code>
518 Require ip <var>adres</var>
521 <p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP
524 <div class="example"><p><code>
525 Require host <var>alan_adı</var>
528 <p>Burada, <var>alan_adı</var> bir tam nitelikli alan adıdır
529 (ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP
530 adresi de belirtilebilir.</p>
532 <p>Örneğin, yorum alanını gereksiz iletilerle dolduran birini uzak
533 tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları
536 <div class="example"><p><code>
538 <span class="indent">
539 Require all granted<br />
540 Require not ip 10.252.46.165
545 <p>Bu adresden gelen ziyaretçiler bu yönergedeki içeriği
546 göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de
547 makine adı varsa şunu kullanabilirsiniz:</p>
549 <div class="example"><p><code>
551 <span class="indent">
552 Require all granted<br />
553 Require not host <var>host.example.com</var>
558 <p>Eğer alan adının tamanıdan gelecek olan bütün erişimleri
559 engellemek isterseniz adresin ya da alan adının bir parçasını
562 <div class="example"><p><code>
564 <span class="indent">
565 Require all granted<br />
567 <span class="indent">
568 Require ip 192.168.205<br />
569 Require host phishers.example.com moreidiots.example<br />
577 <p>Yukarıdaki örnekte, <code class="directive"><a href="../mod/mod_authz_core.html#requirenone"><RequireNone></a></code> yönergesi içindeki
578 <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
579 yönergelerinin değiştirgeleriyle hiçbir bir eşleşme olmaması
580 durumunda erişime izin verilir.</p>
584 <h3><a name="filesystem" id="filesystem">Erişim denetimi ve geriye uyumluluk</a></h3>
586 <p>Kimlik doğrulama için tedarik tabanlı mekanizma kullanımının
587 yan etkilerinden birisi,
588 <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>,
589 <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>,
590 <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> ve
591 <code class="directive"><a href="../mod/mod_access_compat.html#satisfy">Satisfy</a></code> erişim
592 denetim yönergelerine artık ihtiyaç duyulmamasıdır. Ancak eski
593 yapılandırmalarla uyumluluğu sağlamak için bu yönergeler
594 <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> modülüne taşınmıştır.</p>
598 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
599 <div class="section">
600 <h2><a name="socache" id="socache">Kimlik Doğrulama Arabelleği</a></h2>
601 <p>Zaman zaman kimlik doğrulama ağınızda veya sağlayıcı(ları)nızda kabul
602 edilemez yükler oluşturur. Bu çoğunlukla <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>
603 (veya üçüncü parti/özel sağlayıcıların) kullanıcılarını etkiler. Bununla
604 ilgilenmek için httpd 2.3/2.4, kimlik bilgilerini arabelleklemek ve özgün
605 sağlayıcıların yüklerini azaltmak için yeni bir arabellekleme sağlayıcısı
606 olarak <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> modülü ile gelmektedir.</p>
607 <p>Bu, bazı kullanıcılar için önemli bir başarım artışı sağlayabilir.</p>
608 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
609 <div class="section">
610 <h2><a name="moreinformation" id="moreinformation">Daha fazla bilgi</a></h2>
611 <p>Daha fazla bilgi için <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ve
612 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modüllerinin belgelerine bakınız.
613 <code class="directive"><a href="../mod/mod_authn_core.html#<authnprovideralias>"><AuthnProviderAlias></a></code>
614 yönergesi ile bazı yapılandırmalarınızı basitleştirebilirsiniz.</p>
616 <p>Apache tarafından desteklenen şifrelerle ilgili bilgi için <a href="../misc/password_encryptions.html">Parola Biçemleri</a>
617 belgesine bakınız.</p>
619 <p><a href="access.html">Erişim Denetimi</a> nasıl belgesinden de
620 bazı bilgiler edinebilirsiniz.</p>
622 <div class="bottomlang">
623 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> |
624 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
625 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
626 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
627 <a href="../tr/howto/auth.html" title="Türkçe"> tr </a></p>
628 </div><div id="footer">
629 <p class="apache">Copyright 2012 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>
630 <p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript">