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