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 ve Yetkilendirme - Apache HTTP Sunucusu</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
12 <script src="../style/scripts/prettify.js" type="text/javascript">
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
16 <body id="manual-page"><div id="page-header">
17 <p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
18 <p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
19 <img alt="" src="../images/feather.gif" /></div>
20 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
22 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Nasıllar ve Öğreticiler</a></div><div id="page-content"><div id="preamble"><h1>Kimlik Doğrulama ve Yetkilendirme</h1>
24 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> |
25 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
26 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
27 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
28 <a href="../tr/howto/auth.html" title="Türkçe"> tr </a></p>
30 <div class="outofdate">Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.</div>
32 <p>Kimlik Doğrulama istediğiniz kişileri teyid etme işlemidir.
33 Yetkilendirme ise kişilerin nereye gireceklerine ve hangi bilgiye
34 ulaşacaklarına müsaade edilmesi işlemidir.</p>
36 <p>Genel erişim denetimi için <a href="access.html">Erişim Denetimi
37 Nasıl</a> belgesine bakınız.</p>
39 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">İlgili modüller ve Yönergeler</a></li>
40 <li><img alt="" src="../images/down.gif" /> <a href="#introduction">Giriş</a></li>
41 <li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Ön gereksinimler</a></li>
42 <li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Çalışmaya Başlama</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Olası Sorunlar</a></li>
45 <li><img alt="" src="../images/down.gif" /> <a href="#dbmdbd">Diğer parola depolama yöntemleri</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#multprovider">Birden çok tedarikçi kullanmak</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#beyond">Yetkilendirmenin biraz ötesi</a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#socache">Kimlik Doğrulama Arabelleği</a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Daha fazla bilgi</a></li>
50 </ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
51 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
53 <h2><a name="related" id="related">İlgili modüller ve Yönergeler</a></h2>
55 <p>Kimlik Doğrulama ve yetkilendirme işlemi ile ilgili üç tür modül
56 vardır. Genellikle her bir gruptan en az bir modül seçeceksiniz.</p>
59 <li>Kimlik Doğrulama türü (bkz. <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi)
61 <li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
62 <li><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></li>
66 <li>Kimlik Doğrulayıcı (bkz.
67 <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
68 ve <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> yönergeleri)
70 <li><code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code></li>
71 <li><code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code></li>
72 <li><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code></li>
73 <li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li>
74 <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
75 <li><code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code></li>
78 <li>Yetkilendirme (bkz.
79 <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesi)
81 <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
82 <li><code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code></li>
83 <li><code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code></li>
84 <li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li>
85 <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
86 <li><code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code></li>
87 <li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li>
92 <p>Bu modüllere ek olarak, <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
93 <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri bulunur. Bu modüller
94 yetkilendirme modüllerinin çekirdeğini oluşturan temel yönergeleri
97 <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> modülü kimlik doğrulama ve
98 yetkilendirme işlemlerinin ikisini birden gerçekleştirir.
99 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modülü bu işlemleri sunucu adına, IP
100 adresine ve isteğin karekteristiğine bağlı olarak gerçekleştirir.
101 Ancak kimlik doğrulama sisteminin bir parçası değildir.
102 <code>mod_access</code> ile geriye uyumluluk için
103 <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> diye bir modül daha vardır.</p>
105 <p>Muhtemelen göz atmak isteyeceğiniz <a href="access.html">Erişim
106 Denetimi</a> nasıl belgesi, sunucuya erişimlerin çeşitli yollarından
108 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
109 <div class="section">
110 <h2><a name="introduction" id="introduction">Giriş</a></h2>
111 <p>Sitenizde sadece küçük bir grup insana hitap eden ya da hassas
112 bilgileriniz varsa, bu makaledeki teknikleri kullanarak dilediğiniz
113 kişilerin sadece dilediğiniz sayfaları görüntülemesini
114 sağlayabilirsiniz.</p>
116 <p>Bu makale sitenizin bazı parçalarını korumak için kullanacağınız
117 "standart" yolları içermektedir.</p>
119 <div class="note"><h3>Bilginize:</h3>
120 <p>Eğer bilgileriniz gerçekten gizliliğe ihtiyaç duyuyorsa kimlik
121 doğrulamasına ilaveten <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> modülünü de
122 kullanabilirsiniz.</p>
125 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
126 <div class="section">
127 <h2><a name="theprerequisites" id="theprerequisites">Ön gereksinimler</a></h2>
129 <p>Bu makalede bahsi geçen yönergeler ya ana sunucu yapılandırma
130 dosyasında (genellikle <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümünde) ya da dizin içi
131 yapılandırma dosyalarında (<code>.htaccess</code> dosyaları)
132 bulunmak zorundadır.</p>
134 <p>Eğer <code>.htaccess</code> dosyalarını kullanmayı
135 tasarlıyorsanız, kimlik doğrulama yönergelerine bu dosyaların içine
136 koymaya izin veren sunucu yapılandırmasına ihtiyacınız olacaktır.
137 Bunun için, dizin içi yapılandırma dosyalarının içine hangi
138 yönergelerin konacağını belirleyen <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesi kullanılır.</p>
140 <p>Kimlik doğrulamadan sözettiğimize göre, aşağıda gösterilen
141 şekilde bir <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesine ihtiyacınız olacaktır:</p>
143 <pre class="prettyprint lang-config">AllowOverride AuthConfig</pre>
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 <pre class="prettyprint lang-config">
218 AuthName "Gizli Dosyalar"
219 # (Aşağıdaki satırın kullanımı isteğe bağlıdır)
220 AuthBasicProvider file
221 AuthUserFile /usr/local/apache/passwd/passwords
226 <p>Bu yönergeleri tek tek inceleyelim.
227 <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi
228 kullanıcının kimliğini doğrulamakta kullanılacak yöntemi seçer. En
229 çok kullanılan yöntem <code>Basic</code>'tir ve bu yöntem
230 <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> modülüyle gerçeklenmiştir. Temel
231 (<code>Basic</code>) kimlik doğrulamasıyla gönderilen parolanın
232 şifrelenmeyeceğini unutmayın. Bu yöntem, bu sebepten dolayı
233 <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> eşliğinde kullanılmadığı sürece yüksek
234 hassasiyete sahip bilgiler için kullanılmamalıdır. Apache bir başka
235 kimlik doğrulama yöntemini daha destekler: <code>AuthType
236 Digest</code>. Bu yöntem <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> tarafından
237 gerçeklenmiştir ve çok daha güvenlidir. Güncel tarayıcılar, Özet
238 (<code>Digest</code>) kimlik doğrulama yöntemini
239 desteklemektedir.</p>
241 <p><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code> yönergesi
242 ile kimlik doğrulamada kullanılacak <dfn>Saha</dfn> da
243 belirtilebilir. Saha kullanımının, başlıca iki işlevi vardır.
244 Birincisi, istemci sıklıkla bu bilgiyi kullanıcıya parola diyalog
245 kutusunun bir parçası olarak sunar. İkincisi, belirtilen kimlik
246 doğrulamalı alan için gönderilecek parolayı belirlerken istemci
247 tarafından kullanılır.</p>
249 <p>Örneğin, bir istemcinin <code>"Gizli Dosyalar"</code> alanında
250 kimliği doğrulanmış olsun. Aynı sunucu üzerinde <code>"Gizli
251 Dosyalar"</code> Sahası olarak belirlenmiş alanlarda aynı parola
252 özdevinimli olarak yinelenecektir. Böylece parola bir kere girilerek
253 aynı Sahayı paylaşan çok sayıda kısıtlanmış alana ulaşırken oluşacak
254 gecikmeden kullanıcı korunmuş olur. Güvenlik gerekçelerinden dolayı,
255 her sunucu adı değiştirilişinde istemcinin parolayı yeniden sorması
258 <p><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
259 yönergesinin öntanımlı değeri <code>file</code> olduğundan, bu
260 durumda, bu yönergenin kullanımı isteğe bağlıdır. Ancak, eğer kimlik
261 doğrulaması için <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ya da
262 <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> gibi farklı bir kaynak seçecekseniz
263 bu yönergeyi kullanmanız gerekecektir.</p>
265 <p><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
266 yönergesi <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> ile oluşturduğumuz parola
267 dosyasının yerini belirtmek için kullanılır. Eğer çok sayıda
268 kullanıcınız varsa her bir kullanıcıyı her kimlik doğrulama isteği
269 için kimlik bilgilerini bir metin dosyasında aramak gayet yavaş
270 olacaktır. Apache, kullanıcı bilgilerini hızlı bir veritabanı
271 dosyasında depolama özelliğine de sahiptir. Bu amaçla,
272 <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> modülünün
273 <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>
274 yönergesi kullanılabilir. Bu dosyalar <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> ve
275 <code class="program"><a href="../programs/htdbm.html">htdbm</a></code> programı ile oluşturulabilir ve değiştirilebilir.
276 <a href="http://modules.apache.org/">Apache modülleri
277 Veritabanı</a> içindeki üçüncü parti modüllerinde çok sayıda
278 başka kimlik doğrulama türü de vardır.</p>
280 <p>Son olarak <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
281 yönergesi, sunucunun bu bölgesine erişimine izin verilen
282 kullanıcıları ayarlama işleminin kimlik doğrulamasıyla ilgili
283 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
284 çeşitli yoları üzerinde duracağız.</p>
285 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
286 <div class="section">
287 <h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></h2>
289 <p>Yukarıdaki yönergelerle bir dizinde sadece bir kişiye
290 (<code>umut</code> adlı kullanıcıya) izin verir. Çoğunlukla birden
291 çok kişiye izin verilmesi istenir. Bu durumda <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> yönergesi
294 <p>Eğer birden çok kişiye izin vermek istiyorsanız içinde kullanıcı
295 isimlerinin olduğu bir grup dosyası oluşturmalısınız. Bu dosyanın
296 biçemi gayet basittir ve bunu herhangi bir metin düzenleyici ile
297 oluşturabilirsiniz. Bu dosyanın içeriği aşağıdaki gibi
300 <div class="example"><p><code>
301 GroupName: umut samet engin kubilay
304 <p>Dosya, sadece, boşluklarla birbirinden ayrılmış gurup üyelerinin
305 isimlerinden oluşan uzun bir liste içerir.</p>
307 <p>Varolan parola dosyasına bir kullanıcı eklemek için şunu
310 <div class="example"><p><code>
311 htpasswd /usr/local/apache/passwd/passwords birey
314 <p>Evvelce almış olduğunuz yanıtı yine alacaksınız ama bu sefer yeni
315 bir dosya oluşturulmak yerine var olan bir dosyaya eklenecektir.
316 (Yeni bir parola dosyası oluşturmak için <code>-c</code> seçeneği
319 <p>Şimdi, <code>.htaccess</code> dosyanızı veya
320 <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümünüzü
321 aşağıda görüldüğü şekilde değiştirebilirsiniz:</p>
323 <pre class="prettyprint lang-config">
325 AuthName "Davete Binaen"
326 # Satır isteğe bağlıdır:
327 AuthBasicProvider file
328 AuthUserFile /usr/local/apache/passwd/passwords
329 AuthGroupFile /usr/local/apache/passwd/groups
330 Require group Grupismi
334 <p>Artık, <code>Grupismi</code> gurubunda listelenmiş ve
335 <code>password</code> dosyasında kaydı olan kişiye, parolayı doğru
336 yazdığı takdirde izin verilecektir.</p>
338 <p>Çoklu kullanıcıya izin veren biraz daha az kullanılan başka bir
339 yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi
340 kullanabilirsiniz:</p>
342 <pre class="prettyprint lang-config">Require valid-user</pre>
345 <p><code>Require user umut</code> satırı ile parola dosyasında
346 listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin
347 vermektense, her grup için ayrı bir parola dosyası tutarak grup
348 davranışını taklit edebilirsiniz.</p>
350 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
351 <div class="section">
352 <h2><a name="possibleproblems" id="possibleproblems">Olası Sorunlar</a></h2>
353 <p>Temel kimlik doğrulama yolu belirtildiği için, sunucuya
354 yaptığınız her belge istediğinde kullanıcı adınızın ve parolanızın
355 doğrulanması gerekir. Hatta aynı sayfayı yeniden yüklerken ya da
356 sayfadaki her bir resim için bu yapılmalıdır (şayet korunmakta olan
357 bir dizinden geliyorsa). Bu işlem hızı azaltacaktır. Yavaşlama
358 miktarı parola dosyanızın büyüklüğü ile orantılı olacaktır, çünkü bu
359 işlem sırasında dosya açılacak ve kullanıcıların arasında isminiz
360 bulunana kadar liste aşağı doğru taranacaktır. Bu işlem sayfa her
361 yüklenişinde tekrar edilecektir.</p>
363 <p>Buradan çıkacak sonuç, bir parola dosyasına konulan kullanıcı
364 sayısında bir üst sınır olması gerekliliğidir. Bu sınır sunucunuzun
365 başarımına bağlı olarak değişiklik gösterir. Bir kaç yüz kayıtın
366 üstünde giriş yaptığınızda hız düşüşünü gözlemlebilirsiniz İşte bu
367 anda kimlik doğrulama için başka bir yöntem aramaya başlarsınız.</p>
369 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
370 <div class="section">
371 <h2><a name="dbmdbd" id="dbmdbd">Diğer parola depolama yöntemleri</a></h2>
373 <p>Parolaları basit bir metin dosyasında depolamak yukarıda
374 bahsedilen sorunlara yol açtığından parolaları başka bir yerde
375 depolamayı düşünebilirsiniz; örneğin bir veritabanında.</p>
377 <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>
378 modülleri bunu mümkün kılan iki modüldür. Depolama yönemi olarak
379 <code><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> file</code> yerine, <code>dbm</code>
380 veya <code>dbd</code> kullanabilirsiniz.</p>
382 <p>Bir metin dosyası yerine bir dbm dosyası kullanım örneği:</p>
384 <pre class="prettyprint lang-config">
385 <Directory /www/docs/private>
388 AuthBasicProvider dbm
389 AuthDBMUserFile /www/passwords/passwd.dbm
395 <p>Başka seçenekler de mümkündür. Ayrınılar için
396 <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> belgesine başvurun.</p>
398 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
399 <div class="section">
400 <h2><a name="multprovider" id="multprovider">Birden çok tedarikçi kullanmak</a></h2>
402 <p>Kimlik doğrulama ve yetkilendirme mimarisine dayalı yeni
403 tedarikçiyi kullanarak tek bir yetkilendirme ya da kimlik doğrulama
404 yöntemine kilitlenip kalmayacaksınız. Aslında birden çok tedarikçi
405 ihtiyacınıza cevap vermek için bir arada kullanılabilir. Aşağıdaki
406 örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir
407 arada kullanılmıştır.</p>
409 <pre class="prettyprint lang-config">
410 <Directory /www/docs/private>
413 AuthBasicProvider file ldap
414 AuthUserFile /usr/local/apache/passwd/passwords
415 AuthLDAPURL ldap://ldaphost/o=yourorg
421 <p>Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini
422 doğrulamaya teşebbüs edecektir. Kullanıcının kimliği
423 doğrulanamıyorsa LDAP tedarikçisi çağırılır. Eğer kurumunuz birden
424 çok kimlik doğrulama tedarikçisini yürürlüğe koyuyorsa bu, kimlik
425 doğrulama faaliyet alanının genişletilmesini sağlar. Diğer kimlik
426 kanıtlama ve yetkilendirme senaryoları tek bir kimlik doğrulaması
427 ile birden fazla yetkilendirme türüne izin verebilir.</p>
429 <p>Çok sayıda kimlik doğrulama tedarikçisi uygulamaya konulabileceği
430 gibi, çok sayıda yetkilendirme yöntemi de kullanılabilir. Bu örnekte
431 dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması
434 <pre class="prettyprint lang-config">
435 <Directory /www/docs/private>
438 AuthBasicProvider file
439 AuthUserFile /usr/local/apache/passwd/passwords
440 AuthLDAPURL ldap://ldaphost/o=yourorg
441 AuthGroupFile /usr/local/apache/passwd/groups
442 Require group GroupName
443 Require ldap-group cn=mygroup,o=yourorg
448 <p>Kimlik doğrulama konusunu biraz daha genişletirsek, <code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code> ve
449 <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code> gibi yetkilendirme taşıyıcısı
450 yönergelerle hangi iznin hangi sırayla uygulanacağını
451 belirlenebilir. <a href="../mod/mod_authz_core.html#logic">Yetkilendirme Taşıyıcıları</a> bölümünde bunun bir uygulama
452 örneğini görebilirsiniz.</p>
454 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
455 <div class="section">
456 <h2><a name="beyond" id="beyond">Yetkilendirmenin biraz ötesi</a></h2>
457 <p>Tek bir veri deposundan yapılacak tek bir sınamadan çok daha
458 esnek kimlik doğrulaması yapılabilir. Sıralama, mantık ve hangi
459 kimlik doğrulamasının kullanılacağını seçmek mümkündür.</p>
461 <h3><a name="authandororder" id="authandororder">Mantık ve sıralamanın uygulanması</a></h3>
463 <p>Yetkilendirmenin hangi sırayla uygulanacağı ve nasıl
464 denetleneceği geçmişte biraz gizemli bir konuydu. Apache 2.2'de,
465 tedarikçi tabanlı kimlik doğrulamasının devreye girmesiyle asıl
466 kimlik doğrulama işlemini yetkilendirme ve destek işlevselliğinden
467 ayırmak mümkün oldu. Bunun faydalarından birisi de kimlik
468 doğrulama tedarikçilerinin yapılandırılabilmesi ve auth modülünün
469 kendi yükleme sırasından bağımsız olarak özel bir sırayla
470 çağrılabilmesidir. Bu tedarikçi tabanlı mekanizmanın aynısı
471 yetkilendirmeye de getirilmiştir. Bunun anlamı <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinde hangi
472 izin yönteminin kullanılması gerektiğinin belirtmesinin yanında
473 hangi sırayla çağırılacaklarının da belirlenebildiğidir. Çok
474 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
475 yapılandırma dosyasında göründükleri sıra ile çağırılır.</p>
477 <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
478 taşıyıcısı yönergelerin devreye girmesiyle yetkilendirme
479 yöntemlerinin ne zaman çağırılacağı ve çağırıldığında ve erişime
480 izin verirken hangi kuralların uygulanacağı konusunda denetim
481 yapılandırmanın eline geçmektedir. Karmaşık yetkilendime mantığını
482 ifade etmek için kullanılan bir örneği görmek için
483 <a href="../mod/mod_authz_core.html#logic">Yetkilendirme
484 Taşıyıcıları</a> bölümüne bakınız.</p>
486 <p>Öntanımlı olarak tüm <code class="directive"><a href="../mod/mod_authz_core.html# require">
487 Require</a></code> yönergeleri, <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code>
488 taşıyıcı yönergesinin içine konur. Başka bir deyişle eğer
489 belirtilen kimlik doğrulama yöntemlerinden herhangi biri başarılı
490 olursa yetkilendirme de sağlanmış olur.</p>
494 <h3><a name="reqaccessctrl" id="reqaccessctrl">Erişim denetimi için yetkilendirme tedarikçilerinin
497 <p>Kullanıcı adı ve parolasına göre kimlik doğrulama hikayenin
498 sadece bir bölümüdür. Sıklıkla insanlara kim olduklarına göre
499 değil birşeylere dayanarak izin vermek istersiniz. Örneğin nereden
502 <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
503 tedarikçileri ile, bir belgenin istendiği makinenin IP adresi veya
504 konak ismi gibi bazı özelliklerine dayalı olarak erişime izin
505 verip vermeyeceğinizi belirtebilirsiniz.</p>
507 <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,
508 isteklerin işlenmesi sırasında yetkilendirme aşamasında
509 çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin:
512 <pre class="prettyprint lang-config">Require ip <var>adres</var></pre>
515 <p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP
518 <pre class="prettyprint lang-config">Require host <var>alan_adı</var></pre>
521 <p>Burada, <var>alan_adı</var> bir tam nitelikli alan adıdır
522 (ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP
523 adresi de belirtilebilir.</p>
525 <p>Örneğin, yorum alanını gereksiz iletilerle dolduran birini uzak
526 tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları
529 <pre class="prettyprint lang-config">
532 Require not ip 10.252.46.165
537 <p>Bu adresden gelen ziyaretçiler bu yönergedeki içeriği
538 göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de
539 makine adı varsa şunu kullanabilirsiniz:</p>
541 <pre class="prettyprint lang-config">
544 Require not host host.example.com
549 <p>Eğer alan adının tamanıdan gelecek olan bütün erişimleri
550 engellemek isterseniz adresin ya da alan adının bir parçasını
553 <pre class="prettyprint lang-config">
556 Require not ip 192.168.205
557 Require not host phishers.example.com moreidiots.example
563 <p><code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code> yönergesini çok sayıda
564 <code class="directive"><a href="../mod/mod_authz_core.html#require"><Require></a></code> yönergesi ile birlikte kullanarak,
565 sadece <code>not</code> ile olumsuzlanan tüm koşulları gerçekleyen
566 bağlantılara erişim verilir. Başka bir deyişle, olumsuzlanan koşulları
567 gerçeklemeyen bağlantıların erişimi engellenir.</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="socache" id="socache">Kimlik Doğrulama Arabelleği</a></h2>
588 <p>Zaman zaman kimlik doğrulama ağınızda veya sağlayıcı(ları)nızda kabul
589 edilemez yükler oluşturur. Bu çoğunlukla <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>
590 (veya üçüncü parti/özel sağlayıcıların) kullanıcılarını etkiler. Bununla
591 ilgilenmek için httpd 2.3/2.4, kimlik bilgilerini arabelleklemek ve özgün
592 sağlayıcıların yüklerini azaltmak için yeni bir arabellekleme sağlayıcısı
593 olarak <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> modülü ile gelmektedir.</p>
594 <p>Bu, bazı kullanıcılar için önemli bir başarım artışı sağlayabilir.</p>
595 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
596 <div class="section">
597 <h2><a name="moreinformation" id="moreinformation">Daha fazla bilgi</a></h2>
598 <p>Daha fazla bilgi için <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ve
599 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modüllerinin belgelerine bakınız.
600 <code class="directive"><a href="../mod/mod_authn_core.html#<authnprovideralias>"><AuthnProviderAlias></a></code>
601 yönergesi ile bazı yapılandırmalarınızı basitleştirebilirsiniz.</p>
603 <p>Apache tarafından desteklenen şifrelerle ilgili bilgi için <a href="../misc/password_encryptions.html">Parola Biçemleri</a>
604 belgesine bakınız.</p>
606 <p><a href="access.html">Erişim Denetimi</a> nasıl belgesinden de
607 bazı bilgiler edinebilirsiniz.</p>
609 <div class="bottomlang">
610 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> |
611 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
612 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
613 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
614 <a href="../tr/howto/auth.html" title="Türkçe"> tr </a></p>
615 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorum</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
616 <script type="text/javascript"><!--//--><![CDATA[//><!--
617 var comments_shortname = 'httpd';
618 var comments_identifier = 'http://httpd.apache.org/docs/2.4/howto/auth.html';
620 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
621 d.write('<div id="comments_thread"><\/div>');
622 var s = d.createElement('script');
623 s.type = 'text/javascript';
625 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
626 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
629 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
631 })(window, document);
632 //--><!]]></script></div><div id="footer">
633 <p class="apache">Copyright 2014 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>
634 <p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
635 if (typeof(prettyPrint) !== 'undefined') {