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" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <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>
15 <p class="apache">Apache HTTP Sunucusu Sürüm 2.3</p>
16 <img alt="" src="../images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
19 <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.3</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>
21 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> |
22 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
23 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
24 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
25 <a href="../tr/howto/auth.html" title="Türkçe"> tr </a> |
26 <a href="../zh-cn/howto/auth.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
28 <div class="outofdate">Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.</div>
30 <p>Kimlik Doğrulama istediğiniz kişileri teyid etme işlemidir.
31 Yetkilendirme ise kişilerin nereye gireceklerine ve hangi bilgiye
32 ulaşacaklarına müsaade edilmesi işlemidir.</p>
34 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">İlgili modüller ve Yönergeler</a></li>
35 <li><img alt="" src="../images/down.gif" /> <a href="#introduction">Giriş</a></li>
36 <li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Ön gereksinimler</a></li>
37 <li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Çalışmaya Başlama</a></li>
38 <li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></li>
39 <li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Olası Sorunlar</a></li>
40 <li><img alt="" src="../images/down.gif" /> <a href="#dbmdbd">Diğer parola depolama yöntemleri</a></li>
41 <li><img alt="" src="../images/down.gif" /> <a href="#multprovider">Birden çok tedarikçi kullanmak</a></li>
42 <li><img alt="" src="../images/down.gif" /> <a href="#beyond">Yetkilendirmenin biraz ötesi</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Daha fazla bilgi</a></li>
45 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
47 <h2><a name="related" id="related">İlgili modüller ve Yönergeler</a></h2>
49 <p>Kimlik Doğrulama ve yetkilendirme işlemi ile ilgili üç tür modül
50 vardır. Genellikle her bir gruptan en az bir modül seçeceksiniz.</p>
53 <li>Kimlik Doğrulama türü (bkz. <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi)
55 <li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
56 <li><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></li>
60 <li>Kimlik Doğrulayıcı (bkz.
61 <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
62 ve <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> yönergeleri)
64 <li><code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code></li>
65 <li><code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code></li>
66 <li><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code></li>
67 <li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li>
68 <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
71 <li>Yetkilendirme (bkz.
72 <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesi)
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_authz_dbd.html">mod_authz_dbd</a></code></li>
76 <li><code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code></li>
77 <li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li>
78 <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
79 <li><code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code></li>
80 <li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li>
85 <p>Bu modüllere ek olarak, <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
86 <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri bulunur. Bu modüller
87 yetkilendirme modüllerinin çekirdeğini oluşturan temel yönergeleri
90 <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> modülü kimlik doğrulama ve
91 yetkilendirme işlemlerinin ikisini birden gerçekleştirir.
92 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modülü bu işlemleri sunucu adına, IP
93 adresine ve isteğin karekteristiğine bağlı olarak gerçekleştirir.
94 Ancak kimlik doğrulama sisteminin bir parçası değildir.
95 <code>mod_access</code> ile geriye uyumluluk için
96 <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> diye bir modül daha vardır.</p>
98 <p>Muhtemelen göz atmak isteyeceğiniz <a href="access.html">Erişim
99 Denetimi</a> nasıl belgesi, sunucuya erişimlerin çeşitli yollarından
101 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
102 <div class="section">
103 <h2><a name="introduction" id="introduction">Giriş</a></h2>
104 <p>Sitenizde sadece küçük bir grup insana hitap eden ya da hassas
105 bilgileriniz varsa, bu makaledeki teknikleri kullanarak dilediğiniz
106 kişilerin sadece dilediğiniz sayfaları görüntülemesini
107 sağlayabilirsiniz.</p>
109 <p>Bu makale sitenizin bazı parçalarını korumak için kullanacağınız
110 "standart" yolları içermektedir.</p>
112 <div class="note"><h3>Bilginize:</h3>
113 <p>Eğer bilgileriniz gerçekten gizliliğe ihtiyaç duyuyorsa kimlik
114 doğrulamasına ilaveten <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> modülünü de
115 kullanabilirsiniz.</p>
118 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
119 <div class="section">
120 <h2><a name="theprerequisites" id="theprerequisites">Ön gereksinimler</a></h2>
122 <p>Bu makalede bahsi geçen yönergeler ya ana sunucu yapılandırma
123 dosyasında (genellikle <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümünde) ya da dizin içi
124 yapılandırma dosyalarında (<code>.htaccess</code> dosyaları)
125 bulunmak zorundadır.</p>
127 <p>Eğer <code>.htaccess</code> dosyalarını kullanmayı
128 tasarlıyorsanız, kimlik doğrulama yönergelerine bu dosyaların içine
129 koymaya izin veren sunucu yapılandırmasına ihtiyacınız olacaktır.
130 Bunun için, dizin içi yapılandırma dosyalarının içine hangi
131 yönergelerin konacağını belirleyen <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesi kullanılır.</p>
133 <p>Kimlik doğrulamadan sözettiğimize göre, aşağıda gösterilen
134 şekilde bir <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesine ihtiyacınız olacaktır:</p>
136 <div class="example"><p><code>
137 AllowOverride AuthConfig
140 <p>Yönergeleri doğrudan ana sunucunun yapılandırma dosyasına
141 koyacaksanız bu dosyaya yazma izniniz olmalıdır.</p>
143 <p>Bazı dosyaların nerede saklandığını bilmek için sunucunun dizin
144 yapısı hakkında biraz bilgi sahibi olmanız gerekmektedir. Bu çok da
145 zor olmamakla birlikte bu noktaya gelindiğinde konuyu
148 <p>Ayrıca <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
149 <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri ya <code>httpd</code>
150 çalıştırılabilirinin içinde derlenmiş olmalı ya da
151 <code>httpd.conf</code> yapılandırma dosyası ile yüklenmelidir. Bu
152 iki modül HTTP sunucusunda kimlik doğrulama ve yetkilendirme
153 kullanımı ve yapılandırması için büyük öneme sahip temel yönergeleri
154 ve işlevselliği sağlar.</p>
156 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
157 <div class="section">
158 <h2><a name="gettingitworking" id="gettingitworking">Çalışmaya Başlama</a></h2>
159 <p>Burada, sunucu üzerindeki bir dizini parolayla korumak için
160 gereken temel bilgiler verilecektir.</p>
162 <p>İlk olarak bir parola dosyası oluşturmalısınız. Bunu nasıl
163 yapacağınız, özellikle, seçtiğiniz kimlik doğrulayıcıya göre
164 değişiklik gösterir. Bunun üzerinde ileride daha fazla duracağız.
165 Başlangıç için parolaları bir metin dosyasında tutacağız.</p>
167 <p>Bu dosya belge kök dizini altında olmamalıdır. Böylece başkaları
168 parola dosyasını indiremezler. Örneğin belgeleriniz
169 <code>/usr/local/apache/htdocs</code> üzerinden sunuluyorsa parola
170 dosyanızı <code>/usr/local/apache/passwd</code> dizininde
173 <p>Dosyayı oluşturmak için Apache ile gelen
174 <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> uygulamasını kullanacağız. Bu uygulama
175 Apache'nin kurulumunda belirtilen <code>bin</code> dizininde
176 bulunur. Eğer Apache'yi üçüncü parti paketlerden kurduysanız,
177 çalıştırılabilir dosyaların bulunduğu yollar üzerinde olmalıdır.</p>
179 <p>Bir dosya oluşturmak için şunları yazın:</p>
181 <div class="example"><p><code>
182 htpasswd -c /usr/local/apache/passwd/passwords umut
185 <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> size parola soracaktır arkasından da
186 teyit etmek için parolayı tekrar girmenizi isteyecektir:</p>
188 <div class="example"><p><code>
189 # htpasswd -c /usr/local/apache/passwd/passwords umut<br />
190 New password: parolam<br />
191 Re-type new password: parolam<br />
192 Adding password for user umut
195 <p>Eğer <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> normal yollar üzerinde değilse
196 çalıştırmak için dosyanın bulunduğu tam yeri belirtmeniz
197 gerekecektir. Dosyanın öntanımlı kurulum yeri:
198 <code>/usr/local/apache2/bin/htpasswd</code></p>
200 <p>Bundan sonra, sunucuyu, parola sorması için ve kimlerin erişim
201 izni olacağını belirlemek için yapılandıracaksınız. Bu işlemi
202 <code>httpd.conf</code>dosyasını düzenleyerek ya da bir
203 <code>.htaccess</code> dosyası kullanarak yapabilirsiniz. Örneğin,
204 <code>/usr/local/apache/htdocs/secret</code> dizinini korumayı
205 amaçlıyorsanız, şu yönergeleri kullanabilirsiniz. Bu yönergeleri
206 <code>/usr/local/apache/htdocs/secret/.htaccess</code> dosyası içine
207 veya <code>httpd.conf</code> içindeki <Directory
208 /usr/local/apache/htdocs/secret> bölümüne koyabilirsiniz.</p>
210 <div class="example"><p><code>
212 AuthName "Gizli Dosyalar"<br />
213 # (Aşağıdaki satırın kullanımı isteğe bağlıdır)<br />
214 AuthBasicProvider file<br />
215 AuthUserFile /usr/local/apache/passwd/passwords<br />
219 <p>Bu yönergeleri tek tek inceleyelim.
220 <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi
221 kullanıcının kimliğini doğrulamakta kullanılacak yöntemi seçer. En
222 çok kullanılan yöntem <code>Basic</code>'tir ve bu yöntem
223 <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> modülüyle gerçeklenmiştir. Temel
224 (<code>Basic</code>) kimlik doğrulamasıyla gönderilen parolanın
225 şifrelenmeyeceğini unutmayın. Bu yöntem, bu sebepten dolayı
226 <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> eşliğinde kullanılmadığı sürece yüksek
227 hassasiyete sahip bilgiler için kullanılmamalıdır. Apache bir başka
228 kimlik doğrulama yöntemini daha destekler: <code>AuthType
229 Digest</code>. Bu yöntem <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> tarafından
230 gerçeklenmiştir ve çok daha güvenlidir. Güncel tarayıcılar, Özet
231 (<code>Digest</code>) kimlik doğrulama yöntemini
232 desteklemektedir.</p>
234 <p><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code> yönergesi
235 ile kimlik doğrulamada kullanılacak <dfn>Saha</dfn> da
236 belirtilebilir. Saha kullanımının, başlıca iki işlevi vardır.
237 Birincisi, istemci sıklıkla bu bilgiyi kullanıcıya parola diyalog
238 kutusunun bir parçası olarak sunar. İkincisi, belirtilen kimlik
239 doğrulamalı alan için gönderilecek parolayı belirlerken istemci
240 tarafından kullanılır.</p>
242 <p>Örneğin, bir istemcinin <code>"Gizli Dosyalar"</code> alanında
243 kimliği doğrulanmış olsun. Aynı sunucu üzerinde <code>"Gizli
244 Dosyalar"</code> Sahası olarak belirlenmiş alanlarda aynı parola
245 özdevinimli olarak yinelenecektir. Böylece parola bir kere girilerek
246 aynı Sahayı paylaşan çok sayıda kısıtlanmış alana ulaşırken oluşacak
247 gecikmeden kullanıcı korunmuş olur. Güvenlik gerekçelerinden dolayı,
248 her sunucu adı değiştirilişinde istemcinin parolayı yeniden sorması
251 <p><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
252 yönergesinin öntanımlı değeri <code>file</code> olduğundan, bu
253 durumda, bu yönergenin kullanımı isteğe bağlıdır. Ancak, eğer kimlik
254 doğrulaması için <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ya da
255 <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> gibi farklı bir kaynak seçecekseniz
256 bu yönergeyi kullanmanız gerekecektir.</p>
258 <p><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
259 yönergesi <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> ile oluşturduğumuz parola
260 dosyasının yerini belirtmek için kullanılır. Eğer çok sayıda
261 kullanıcınız varsa her bir kullanıcıyı her kimlik doğrulama isteği
262 için kimlik bilgilerini bir metin dosyasında aramak gayet yavaş
263 olacaktır. Apache, kullanıcı bilgilerini hızlı bir veritabanı
264 dosyasında depolama özelliğine de sahiptir. Bu amaçla,
265 <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> modülünün
266 <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>
267 yönergesi kullanılabilir. Bu dosyalar <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code>
268 programı ile oluşturulabilir ve değiştirilebilir. <a href="http://modules.apache.org/">Apache modülleri
269 Veritabanı</a> içindeki üçüncü parti modüllerinde çok sayıda
270 başka kimlik doğrulama türü de vardır.</p>
272 <p>Son olarak <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
273 yönergesi, sunucunun bu bölgesine erişimine izin verilen
274 kullanıcıları ayarlama işleminin kimlik doğrulamasıyla ilgili
275 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
276 çeşitli yoları üzerinde duracağız.</p>
277 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
278 <div class="section">
279 <h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></h2>
281 <p>Yukarıdaki yönergelerle bir dizinde sadece bir kişiye
282 (<code>umut</code> adlı kullanıcıya) izin verir. Çoğunlukla birden
283 çok kişiye izin verilmesi istenir. Bu durumda <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> yönergesi
286 <p>Eğer birden çok kişiye izin vermek istiyorsanız içinde kullanıcı
287 isimlerinin olduğu bir grup dosyası oluşturmalısınız. Bu dosyanın
288 biçemi gayet basittir ve bunu herhangi bir metin düzenleyici ile
289 oluşturabilirsiniz. Bu dosyanın içeriği aşağıdaki gibi
292 <div class="example"><p><code>
293 GroupName: umut samet engin kubilay
296 <p>Dosya, sadece, boşluklarla birbirinden ayrılmış gurup üyelerinin
297 isimlerinden oluşan uzun bir liste içerir.</p>
299 <p>Varolan parola dosyasına bir kullanıcı eklemek için şunu
302 <div class="example"><p><code>
303 htpasswd /usr/local/apache/passwd/passwords birey
306 <p>Evvelce almış olduğunuz yanıtı yine alacaksınız ama bu sefer yeni
307 bir dosya oluşturulmak yerine var olan bir dosyaya eklenecektir.
308 (Yeni bir parola dosyası oluşturmak için <code>-c</code> seçeneği
311 <p>Şimdi, <code>.htaccess</code> dosyanızı aşağıda görüldüğü şekilde
312 değiştirebilirsiniz:</p>
314 <div class="example"><p><code>
316 AuthName "Davete Binaen"<br />
317 # Satır isteğe bağlıdır:<br />
318 AuthBasicProvider file<br />
319 AuthUserFile /usr/local/apache/passwd/passwords<br />
320 AuthGroupFile /usr/local/apache/passwd/groups<br />
321 Require group Grupismi
324 <p>Artık, <code>Grupismi</code> gurubunda listelenmiş ve
325 <code>password</code> dosyasında kaydı olan kişiye, parolayı doğru
326 yazdığı takdirde izin verilecektir.</p>
328 <p>Çoklu kullanıcıya izin veren biraz daha az kullanılan başka bir
329 yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi
330 kullanabilirsiniz:</p>
332 <div class="example"><p><code>
336 <p><code>Require user umut</code> satırı ile parola dosyasında
337 listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin
338 vermektense, her grup için ayrı bir parola dosyası tutarak grup
339 davranışını taklit edebilirsiniz. Bu yaklaşımın getirisi:
340 Apache iki dosya yerine sadece bir dosyaya bakar.
341 Götürüsü ise parola dosyalarından oluşan bir dosya demeti sağlamak
342 ve <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
343 yönergesinde doğru dosyayı belirtmeyi unutmamak zorunda
346 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
347 <div class="section">
348 <h2><a name="possibleproblems" id="possibleproblems">Olası Sorunlar</a></h2>
349 <p>Temel kimlik doğrulama yolu belirtildiği için, sunucuya
350 yaptığınız her belge istediğinde kullanıcı adınızın ve parolanızın
351 doğrulanması gerekir. Hatta aynı sayfayı yeniden yüklerken ya da
352 sayfadaki her bir resim için bu yapılmalıdır (şayet korunmakta olan
353 bir dizinden geliyorsa). Bu işlem hızı azaltacaktır. Yavaşlama
354 miktarı parola dosyanızın büyüklüğü ile orantılı olacaktır, çünkü bu
355 işlem sırasında dosya açılacak ve kullanıcıların arasında isminiz
356 bulunana kadar liste aşağı doğru taranacaktır. Bu işlem sayfa her
357 yüklenişinde tekrar edilecektir.</p>
359 <p>Buradan çıkacak sonuç, bir parola dosyasına konulan kullanıcı
360 sayısında bir üst sınır olması gerekliliğidir. Bu sınır sunucunuzun
361 başarımına bağlı olarak değişiklik gösterir. Bir kaç yüz kayıtın
362 üstünde giriş yaptığınızda hız düşüşünü gözlemlebilirsiniz İşte bu
363 anda kimlik doğrulama için başka bir yöntem aramaya başlarsınız.</p>
365 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
366 <div class="section">
367 <h2><a name="dbmdbd" id="dbmdbd">Diğer parola depolama yöntemleri</a></h2>
369 <p>Parolaları basit bir metin dosyasında depolamak yukarıda
370 bahsedilen sorunlara yol açtığından parolaları başka bir yerde
371 depolamayı düşünebilirsiniz; örneğin bir veritabanında.</p>
373 <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>
374 modülleri bunu mümkün kılan iki modüldür. Depolama yönemi olarak
375 <code><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> file</code> yerine, <code>dbm</code>
376 veya <code>dbd</code> kullanabilirsiniz.</p>
378 <p>Bir metin dosyası yerine bir dbd dosyası kullanım örneği:</p>
380 <div class="example"><p><code>
381 <Directory /www/docs/private><br />
382 AuthName "Private"<br />
384 AuthBasicProvider dbm<br />
385 AuthDBMUserFile /www/passwords/passwd.dbm<br />
386 Require valid-user<br />
390 <p>Başka seçenekler de mümkündür. Ayrınılar için
391 <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> belgesine başvurun.</p>
393 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
394 <div class="section">
395 <h2><a name="multprovider" id="multprovider">Birden çok tedarikçi kullanmak</a></h2>
397 <p>Kimlik doğrulama ve yetkilendirme mimarisine dayalı yeni
398 tedarikçiyi kullanarak tek bir yetkilendirme ya da kimlik doğrulama
399 yöntemine kilitlenip kalmayacaksınız. Aslında birden çok tedarikçi
400 ihtiyacınıza cevap vermek için bir arada kullanılabilir. Aşağıdaki
401 örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir
402 arada kullanılmıştır.</p>
404 <div class="example"><p><code>
405 <Directory /www/docs/private><br />
406 AuthName "Private"<br />
408 AuthBasicProvider file ldap<br />
409 AuthUserFile /usr/local/apache/passwd/passwords<br />
410 AuthLDAPURL ldap://ldaphost/o=yourorg<br />
411 Require valid-user<br />
415 <p>Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini
416 doğrulamaya teşebbüs edecektir. Kullanıcının kimliği
417 doğrulanamıyorsa LDAP tedarikçisi çağırılır. Eğer kurumunuz birden
418 çok kimlik doğrulama tedarikçisini yürürlüğe koyuyorsa bu, kimlik
419 doğrulama faaliyet alanının genişletilmesini sağlar. Diğer kimlik
420 kanıtlama ve yetkilendirme senaryoları tek bir kimlik doğrulaması
421 ile birden fazla yetkilendirme türüne izin verebilir.</p>
423 <p>Çok sayıda kimlik doğrulama tedarikçisi uygulamaya konulabileceği
424 gibi, çok sayıda yetkilendirme yöntemi de kullanılabilir. Bu örnekte
425 dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması
428 <div class="example"><p><code>
429 <Directory /www/docs/private><br />
430 AuthName "Private"<br />
432 AuthBasicProvider file<br />
433 AuthUserFile /usr/local/apache/passwd/passwords<br />
434 AuthLDAPURL ldap://ldaphost/o=yourorg
435 AuthGroupFile /usr/local/apache/passwd/groups<br />
436 Require group GroupName<br />
437 Require ldap-group cn=mygroup,o=yourorg<br />
441 <p>Kimlik doğrulama konusunu biraz daha genişletirsek, <code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code> ve
442 <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code> gibi yetkilendirme taşıyıcısı
443 yönergelerle hangi iznin hangi sırayla uygulanacağını
444 belirlenebilir. <a href="../mod/mod_authz_core.html#logic">Yetkilendirme Taşıyıcıları</a> bölümünde bunun bir uygulama
445 örneğini görebilirsiniz.</p>
447 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
448 <div class="section">
449 <h2><a name="beyond" id="beyond">Yetkilendirmenin biraz ötesi</a></h2>
450 <p>Tek bir veri deposundan yapılacak tek bir sınamadan çok daha
451 esnek kimlik doğrulaması yapılabilir. Sıralama, mantık ve hangi
452 kimlik doğrulamasının kullanılacağını seçmek mümkündür.</p>
454 <h3><a name="authandororder" id="authandororder">Mantık ve sıralamanın uygulanması</a></h3>
456 <p>Yetkilendirmenin hangi sırayla uygulanacağı ve nasıl
457 denetleneceği geçmişte biraz gizemli bir konuydu. Apache 2.2'de,
458 tedarikçi tabanlı kimlik doğrulamasının devreye girmesiyle asıl
459 kimlik doğrulama işlemini yetkilendirme ve destek işlevselliğinden
460 ayırmak mümkün oldu. Bunun faydalarından birisi de kimlik
461 doğrulama tedarikçilerinin yapılandırılabilmesi ve auth modülünün
462 kendi yükleme sırasından bağımsız olarak özel bir sırayla
463 çağrılabilmesidir. Bu tedarikçi tabanlı mekanizmanın aynısı
464 yetkilendirmeye de getirilmiştir. Bunun anlamı <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinde hangi
465 izin yönteminin kullanılması gerektiğinin belirtmesinin yanında
466 hangi sırayla çağırılacaklarının da belirlenebildiğidir. Çok
467 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
468 yapılandırma dosyasında göründükleri sıra ile çağırılır.</p>
470 <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
471 taşıyıcısı yönergelerin devreye girmesiyle yetkilendirme
472 yöntemlerinin ne zaman çağırılacağı ve çağırıldığında ve erişime
473 izin verirken hangi kuralların uygulanacağı konusunda denetim
474 yapılandırmanın eline geçmektedir. Karmaşık yetkilendime mantığını
475 ifade etmek için kullanılan bir örneği görmek için
476 <a href="../mod/mod_authz_core.html#logic">Yetkilendirme
477 Taşıyıcıları</a> bölümüne bakınız.</p>
479 <p>Öntanımlı olarak tüm <code class="directive"><a href="../mod/mod_authz_core.html# require">
480 Require</a></code> yönergeleri, <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code>
481 taşıyıcı yönergesinin içine konur. Başka bir deyişle eğer
482 belirtilen kimlik doğrulama yöntemlerinden herhangi biri başarılı
483 olursa yetkilendirme de sağlanmış olur.</p>
487 <h3><a name="reqaccessctrl" id="reqaccessctrl">Erişim denetimi için yetkilendirme tedarikçilerinin
490 <p>Kullanıcı adı ve parolasına göre kimlik doğrulama hikayenin
491 sadece bir bölümüdür. Sıklıkla insanlara kim olduklarına göre
492 değil birşeylere dayanarak izin vermek istersiniz. Örneğin nereden
495 <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
496 tedarikçileri ile, bir belgenin istendiği makinenin IP adresi veya
497 konak ismi gibi bazı özelliklerine dayalı olarak erişime izin
498 verip vermeyeceğinizi belirtebilirsiniz.</p>
500 <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,
501 isteklerin işlenmesi sırasında yetkilendirme aşamasında
502 çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin:
505 <div class="example"><p><code>
506 Require ip <var>adres</var>
509 <p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP
512 <div class="example"><p><code>
513 Require host <var>alan_adı</var>
516 <p>Burada, <var>alan_adı</var> bir tam nitelikli alan adıdır
517 (ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP
518 adresi de belirtilebilir.</p>
520 <p>Örneğin, yorum alanını gereksiz iletilerle dolduran birini uzak
521 tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları
524 <div class="example"><p><code>
526 <span class="indent">
527 Require all granted<br />
528 Require not ip 10.252.46.165
533 <p>Bu adresden gelen ziyaretçiler bu yönergedeki içeriği
534 göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de
535 makine adı varsa şunu kullanabilirsiniz:</p>
537 <div class="example"><p><code>
539 <span class="indent">
540 Require all granted<br />
541 Require not host <var>host.example.com</var>
546 <p>Eğer alan adının tamanıdan gelecek olan bütün erişimleri
547 engellemek isterseniz adresin ya da alan adının bir parçasını
550 <div class="example"><p><code>
552 <span class="indent">
553 Require all granted<br />
555 <span class="indent">
556 Require ip 192.168.205<br />
557 Require host phishers.example.com moreidiots.example<br />
565 <p>Yukarıdaki örnekte, <code class="directive"><a href="../mod/mod_authz_core.html#requirenone"><RequireNone></a></code> yönergesi içindeki
566 <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
567 yönergelerinin değiştirgeleriyle hiçbir bir eşleşme olmaması
568 durumunda erişime izin verilir.</p>
572 <h3><a name="filesystem" id="filesystem">Erişim denetimi ve geriye uyumluluk</a></h3>
574 <p>Kimlik doğrulama için tedarik tabanlı mekanizma kullanımının
575 yan etkilerinden birisi,
576 <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>,
577 <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>,
578 <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> ve
579 <code class="directive"><a href="../mod/mod_access_compat.html#satisfy">Satisfy</a></code> erişim
580 denetim yönergelerine artık ihtiyaç duyulmamasıdır. Ancak eski
581 yapılandırmalarla uyumluluğu sağlamak için bu yönergeler
582 <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> modülüne taşınmıştır.</p>
586 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
587 <div class="section">
588 <h2><a name="moreinformation" id="moreinformation">Daha fazla bilgi</a></h2>
589 <p>Daha fazla bilgi için <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ve
590 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modüllerinin belgelerine bakınız.
591 <code class="directive"><a href="../mod/mod_authn_core.html#<authnprovideralias>"><AuthnProviderAlias></a></code>
592 yönergesi ile bazı yapılandırmalarınızı basitleştirebilirsiniz.</p>
594 <p>Apache tarafından desteklenen şifrelerle ilgili bilgi için <a href="../misc/password_encryptions.html">Parola Biçemleri</a>
595 belgesine bakınız.</p>
597 <p><a href="access.html">Erişim Denetimi</a> nasıl belgesinden de
598 bazı bilgiler edinebilirsiniz.</p>
600 <div class="bottomlang">
601 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> |
602 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
603 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
604 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
605 <a href="../tr/howto/auth.html" title="Türkçe"> tr </a> |
606 <a href="../zh-cn/howto/auth.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
607 </div><div id="footer">
608 <p class="apache">Copyright 2011 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>
609 <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>