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>
31 <p>Kimlik Doğrulama istediğiniz kişileri teyid etme işlemidir.
32 Yetkilendirme ise kişilerin nereye gireceklerine ve hangi bilgiye
33 ulaşacaklarına müsaade edilmesi işlemidir.</p>
35 <p>Genel erişim denetimi için <a href="access.html">Erişim Denetimi
36 Nasıl</a> belgesine bakınız.</p>
38 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">İlgili modüller ve Yönergeler</a></li>
39 <li><img alt="" src="../images/down.gif" /> <a href="#introduction">Giriş</a></li>
40 <li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Ön gereksinimler</a></li>
41 <li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Çalışmaya Başlama</a></li>
42 <li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Olası Sorunlar</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#dbmdbd">Diğer parola depolama yöntemleri</a></li>
45 <li><img alt="" src="../images/down.gif" /> <a href="#multprovider">Birden çok tedarikçi kullanmak</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#beyond">Yetkilendirmenin biraz ötesi</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#socache">Kimlik Doğrulama Arabelleği</a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Daha fazla bilgi</a></li>
49 </ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
50 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
52 <h2><a name="related" id="related">İlgili modüller ve Yönergeler</a></h2>
54 <p>Kimlik Doğrulama ve yetkilendirme işlemi ile ilgili üç tür modül
55 vardır. Genellikle her bir gruptan en az bir modül seçeceksiniz.</p>
58 <li>Kimlik Doğrulama türü (bkz. <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi)
60 <li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
61 <li><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></li>
65 <li>Kimlik Doğrulayıcı (bkz.
66 <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
67 ve <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> yönergeleri)
69 <li><code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code></li>
70 <li><code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code></li>
71 <li><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code></li>
72 <li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li>
73 <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
74 <li><code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code></li>
77 <li>Yetkilendirme (bkz.
78 <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesi)
80 <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
81 <li><code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code></li>
82 <li><code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code></li>
83 <li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li>
84 <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
85 <li><code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code></li>
86 <li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li>
91 <p>Bu modüllere ek olarak, <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
92 <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri bulunur. Bu modüller
93 yetkilendirme modüllerinin çekirdeğini oluşturan temel yönergeleri
96 <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> modülü kimlik doğrulama ve
97 yetkilendirme işlemlerinin ikisini birden gerçekleştirir.
98 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modülü bu işlemleri sunucu adına, IP
99 adresine ve isteğin karekteristiğine bağlı olarak gerçekleştirir.
100 Ancak kimlik doğrulama sisteminin bir parçası değildir.
101 <code>mod_access</code> ile geriye uyumluluk için
102 <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> diye bir modül daha vardır.</p>
104 <p>Muhtemelen göz atmak isteyeceğiniz <a href="access.html">Erişim
105 Denetimi</a> nasıl belgesi, sunucuya erişimlerin çeşitli yollarından
107 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
108 <div class="section">
109 <h2><a name="introduction" id="introduction">Giriş</a></h2>
110 <p>Sitenizde sadece küçük bir grup insana hitap eden ya da hassas
111 bilgileriniz varsa, bu makaledeki teknikleri kullanarak dilediğiniz
112 kişilerin sadece dilediğiniz sayfaları görüntülemesini
113 sağlayabilirsiniz.</p>
115 <p>Bu makale sitenizin bazı parçalarını korumak için kullanacağınız
116 "standart" yolları içermektedir.</p>
118 <div class="note"><h3>Bilginize:</h3>
119 <p>Eğer bilgileriniz gerçekten gizliliğe ihtiyaç duyuyorsa kimlik
120 doğrulamasına ilaveten <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> modülünü de
121 kullanabilirsiniz.</p>
124 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
125 <div class="section">
126 <h2><a name="theprerequisites" id="theprerequisites">Ön gereksinimler</a></h2>
128 <p>Bu makalede bahsi geçen yönergeler ya ana sunucu yapılandırma
129 dosyasında (genellikle <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümünde) ya da dizin içi
130 yapılandırma dosyalarında (<code>.htaccess</code> dosyaları)
131 bulunmak zorundadır.</p>
133 <p>Eğer <code>.htaccess</code> dosyalarını kullanmayı
134 tasarlıyorsanız, kimlik doğrulama yönergelerine bu dosyaların içine
135 koymaya izin veren sunucu yapılandırmasına ihtiyacınız olacaktır.
136 Bunun için, dizin içi yapılandırma dosyalarının içine hangi
137 yönergelerin konacağını belirleyen <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesi kullanılır.</p>
139 <p>Kimlik doğrulamadan sözettiğimize göre, aşağıda gösterilen
140 şekilde bir <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesine ihtiyacınız olacaktır:</p>
142 <pre class="prettyprint lang-config">AllowOverride AuthConfig</pre>
145 <p>Yönergeleri doğrudan ana sunucunun yapılandırma dosyasına
146 koyacaksanız bu dosyaya yazma izniniz olmalıdır.</p>
148 <p>Bazı dosyaların nerede saklandığını bilmek için sunucunun dizin
149 yapısı hakkında biraz bilgi sahibi olmanız gerekmektedir. Bu çok da
150 zor olmamakla birlikte bu noktaya gelindiğinde konuyu
153 <p>Ayrıca <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
154 <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri ya <code>httpd</code>
155 çalıştırılabilirinin içinde derlenmiş olmalı ya da
156 <code>httpd.conf</code> yapılandırma dosyası ile yüklenmelidir. Bu
157 iki modül HTTP sunucusunda kimlik doğrulama ve yetkilendirme
158 kullanımı ve yapılandırması için büyük öneme sahip temel yönergeleri
159 ve işlevselliği sağlar.</p>
161 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
162 <div class="section">
163 <h2><a name="gettingitworking" id="gettingitworking">Çalışmaya Başlama</a></h2>
164 <p>Burada, sunucu üzerindeki bir dizini parolayla korumak için
165 gereken temel bilgiler verilecektir.</p>
167 <p>İlk olarak bir parola dosyası oluşturmalısınız. Bunu nasıl
168 yapacağınız, özellikle, seçtiğiniz kimlik doğrulayıcıya göre
169 değişiklik gösterir. Bunun üzerinde ileride daha fazla duracağız.
170 Başlangıç için parolaları bir metin dosyasında tutacağız.</p>
172 <p>Bu dosya belge kök dizini altında olmamalıdır. Böylece başkaları
173 parola dosyasını indiremezler. Örneğin belgeleriniz
174 <code>/usr/local/apache/htdocs</code> üzerinden sunuluyorsa parola
175 dosyanızı <code>/usr/local/apache/passwd</code> dizininde
178 <p>Dosyayı oluşturmak için Apache ile gelen
179 <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> uygulamasını kullanacağız. Bu uygulama
180 Apache'nin kurulumunda belirtilen <code>bin</code> dizininde
181 bulunur. Eğer Apache'yi üçüncü parti paketlerden kurduysanız,
182 çalıştırılabilir dosyaların bulunduğu yollar üzerinde olmalıdır.</p>
184 <p>Bir dosya oluşturmak için şunları yazın:</p>
186 <div class="example"><p><code>
187 htpasswd -c /usr/local/apache/passwd/passwords umut
190 <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> size parola soracaktır arkasından da
191 teyit etmek için parolayı tekrar girmenizi isteyecektir:</p>
193 <div class="example"><p><code>
194 # htpasswd -c /usr/local/apache/passwd/passwords umut<br />
195 New password: parolam<br />
196 Re-type new password: parolam<br />
197 Adding password for user umut
200 <p>Eğer <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> normal yollar üzerinde değilse
201 çalıştırmak için dosyanın bulunduğu tam yeri belirtmeniz
202 gerekecektir. Dosyanın öntanımlı kurulum yeri:
203 <code>/usr/local/apache2/bin/htpasswd</code></p>
205 <p>Bundan sonra, sunucuyu, parola sorması için ve kimlerin erişim
206 izni olacağını belirlemek için yapılandıracaksınız. Bu işlemi
207 <code>httpd.conf</code>dosyasını düzenleyerek ya da bir
208 <code>.htaccess</code> dosyası kullanarak yapabilirsiniz. Örneğin,
209 <code>/usr/local/apache/htdocs/secret</code> dizinini korumayı
210 amaçlıyorsanız, şu yönergeleri kullanabilirsiniz. Bu yönergeleri
211 <code>/usr/local/apache/htdocs/secret/.htaccess</code> dosyası içine
212 veya <code>httpd.conf</code> içindeki <Directory
213 /usr/local/apache/htdocs/secret> bölümüne koyabilirsiniz.</p>
215 <pre class="prettyprint lang-config">
217 AuthName "Gizli Dosyalar"
218 # (Aşağıdaki satırın kullanımı isteğe bağlıdır)
219 AuthBasicProvider file
220 AuthUserFile /usr/local/apache/passwd/passwords
225 <p>Bu yönergeleri tek tek inceleyelim.
226 <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi
227 kullanıcının kimliğini doğrulamakta kullanılacak yöntemi seçer. En
228 çok kullanılan yöntem <code>Basic</code>'tir ve bu yöntem
229 <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> modülüyle gerçeklenmiştir. Temel
230 (<code>Basic</code>) kimlik doğrulamasıyla gönderilen parolanın
231 şifrelenmeyeceğini unutmayın. Bu yöntem, bu sebepten dolayı
232 <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> eşliğinde kullanılmadığı sürece yüksek
233 hassasiyete sahip bilgiler için kullanılmamalıdır. Apache bir başka
234 kimlik doğrulama yöntemini daha destekler: <code>AuthType
235 Digest</code>. Bu yöntem <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> tarafından
236 gerçeklenmiştir ve çok daha güvenlidir. Güncel tarayıcılar, Özet
237 (<code>Digest</code>) kimlik doğrulama yöntemini
238 desteklemektedir.</p>
240 <p><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code> yönergesi
241 ile kimlik doğrulamada kullanılacak <dfn>Saha</dfn> da
242 belirtilebilir. Saha kullanımının, başlıca iki işlevi vardır.
243 Birincisi, istemci sıklıkla bu bilgiyi kullanıcıya parola diyalog
244 kutusunun bir parçası olarak sunar. İkincisi, belirtilen kimlik
245 doğrulamalı alan için gönderilecek parolayı belirlerken istemci
246 tarafından kullanılır.</p>
248 <p>Örneğin, bir istemcinin <code>"Gizli Dosyalar"</code> alanında
249 kimliği doğrulanmış olsun. Aynı sunucu üzerinde <code>"Gizli
250 Dosyalar"</code> Sahası olarak belirlenmiş alanlarda aynı parola
251 özdevinimli olarak yinelenecektir. Böylece parola bir kere girilerek
252 aynı Sahayı paylaşan çok sayıda kısıtlanmış alana ulaşırken oluşacak
253 gecikmeden kullanıcı korunmuş olur. Güvenlik gerekçelerinden dolayı,
254 her sunucu adı değiştirilişinde istemcinin parolayı yeniden sorması
257 <p><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
258 yönergesinin öntanımlı değeri <code>file</code> olduğundan, bu
259 durumda, bu yönergenin kullanımı isteğe bağlıdır. Ancak, eğer kimlik
260 doğrulaması için <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ya da
261 <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> gibi farklı bir kaynak seçecekseniz
262 bu yönergeyi kullanmanız gerekecektir.</p>
264 <p><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
265 yönergesi <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> ile oluşturduğumuz parola
266 dosyasının yerini belirtmek için kullanılır. Eğer çok sayıda
267 kullanıcınız varsa her bir kullanıcıyı her kimlik doğrulama isteği
268 için kimlik bilgilerini bir metin dosyasında aramak gayet yavaş
269 olacaktır. Apache, kullanıcı bilgilerini hızlı bir veritabanı
270 dosyasında depolama özelliğine de sahiptir. Bu amaçla,
271 <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> modülünün
272 <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>
273 yönergesi kullanılabilir. Bu dosyalar <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> ve
274 <code class="program"><a href="../programs/htdbm.html">htdbm</a></code> programı ile oluşturulabilir ve değiştirilebilir.
275 <a href="http://modules.apache.org/">Apache modülleri
276 Veritabanı</a> içindeki üçüncü parti modüllerinde çok sayıda
277 başka kimlik doğrulama türü de vardır.</p>
279 <p>Son olarak <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
280 yönergesi, sunucunun bu bölgesine erişimine izin verilen
281 kullanıcıları ayarlama işleminin kimlik doğrulamasıyla ilgili
282 kısmını sağlar. Bir sonraki bölümde <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesini kullanmanın
283 çeşitli yoları üzerinde duracağız.</p>
284 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
285 <div class="section">
286 <h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></h2>
288 <p>Yukarıdaki yönergelerle bir dizinde sadece bir kişiye
289 (<code>umut</code> adlı kullanıcıya) izin verir. Çoğunlukla birden
290 çok kişiye izin verilmesi istenir. Bu durumda <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> yönergesi
293 <p>Eğer birden çok kişiye izin vermek istiyorsanız içinde kullanıcı
294 isimlerinin olduğu bir grup dosyası oluşturmalısınız. Bu dosyanın
295 biçemi gayet basittir ve bunu herhangi bir metin düzenleyici ile
296 oluşturabilirsiniz. Bu dosyanın içeriği aşağıdaki gibi
299 <div class="example"><p><code>
300 GroupName: umut samet engin kubilay
303 <p>Dosya, sadece, boşluklarla birbirinden ayrılmış gurup üyelerinin
304 isimlerinden oluşan uzun bir liste içerir.</p>
306 <p>Varolan parola dosyasına bir kullanıcı eklemek için şunu
309 <div class="example"><p><code>
310 htpasswd /usr/local/apache/passwd/passwords birey
313 <p>Evvelce almış olduğunuz yanıtı yine alacaksınız ama bu sefer yeni
314 bir dosya oluşturulmak yerine var olan bir dosyaya eklenecektir.
315 (Yeni bir parola dosyası oluşturmak için <code>-c</code> seçeneği
318 <p>Şimdi, <code>.htaccess</code> dosyanızı veya
319 <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümünüzü
320 aşağıda görüldüğü şekilde değiştirebilirsiniz:</p>
322 <pre class="prettyprint lang-config">
324 AuthName "Davete Binaen"
325 # Satır isteğe bağlıdır:
326 AuthBasicProvider file
327 AuthUserFile /usr/local/apache/passwd/passwords
328 AuthGroupFile /usr/local/apache/passwd/groups
329 Require group Grupismi
333 <p>Artık, <code>Grupismi</code> gurubunda listelenmiş ve
334 <code>password</code> dosyasında kaydı olan kişiye, parolayı doğru
335 yazdığı takdirde izin verilecektir.</p>
337 <p>Çoklu kullanıcıya izin veren biraz daha az kullanılan başka bir
338 yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi
339 kullanabilirsiniz:</p>
341 <pre class="prettyprint lang-config">Require valid-user</pre>
344 <p><code>Require user umut</code> satırı ile parola dosyasında
345 listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin
346 vermektense, her grup için ayrı bir parola dosyası tutarak grup
347 davranışını taklit edebilirsiniz.</p>
349 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
350 <div class="section">
351 <h2><a name="possibleproblems" id="possibleproblems">Olası Sorunlar</a></h2>
352 <p>Temel kimlik doğrulama yolu belirtildiği için, sunucuya
353 yaptığınız her belge istediğinde kullanıcı adınızın ve parolanızın
354 doğrulanması gerekir. Hatta aynı sayfayı yeniden yüklerken ya da
355 sayfadaki her bir resim için bu yapılmalıdır (şayet korunmakta olan
356 bir dizinden geliyorsa). Bu işlem hızı azaltacaktır. Yavaşlama
357 miktarı parola dosyanızın büyüklüğü ile orantılı olacaktır, çünkü bu
358 işlem sırasında dosya açılacak ve kullanıcıların arasında isminiz
359 bulunana kadar liste aşağı doğru taranacaktır. Bu işlem sayfa her
360 yüklenişinde tekrar edilecektir.</p>
362 <p>Buradan çıkacak sonuç, bir parola dosyasına konulan kullanıcı
363 sayısında bir üst sınır olması gerekliliğidir. Bu sınır sunucunuzun
364 başarımına bağlı olarak değişiklik gösterir. Bir kaç yüz kayıtın
365 üstünde giriş yaptığınızda hız düşüşünü gözlemlebilirsiniz İşte bu
366 anda kimlik doğrulama için başka bir yöntem aramaya başlarsınız.</p>
368 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
369 <div class="section">
370 <h2><a name="dbmdbd" id="dbmdbd">Diğer parola depolama yöntemleri</a></h2>
372 <p>Parolaları basit bir metin dosyasında depolamak yukarıda
373 bahsedilen sorunlara yol açtığından parolaları başka bir yerde
374 depolamayı düşünebilirsiniz; örneğin bir veritabanında.</p>
376 <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>
377 modülleri bunu mümkün kılan iki modüldür. Depolama yönemi olarak
378 <code><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> file</code> yerine, <code>dbm</code>
379 veya <code>dbd</code> kullanabilirsiniz.</p>
381 <p>Bir metin dosyası yerine bir dbm dosyası kullanım örneği:</p>
383 <pre class="prettyprint lang-config">
384 <Directory /www/docs/private>
387 AuthBasicProvider dbm
388 AuthDBMUserFile /www/passwords/passwd.dbm
394 <p>Başka seçenekler de mümkündür. Ayrınılar için
395 <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> belgesine başvurun.</p>
397 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
398 <div class="section">
399 <h2><a name="multprovider" id="multprovider">Birden çok tedarikçi kullanmak</a></h2>
401 <p>Kimlik doğrulama ve yetkilendirme mimarisine dayalı yeni
402 tedarikçiyi kullanarak tek bir yetkilendirme ya da kimlik doğrulama
403 yöntemine kilitlenip kalmayacaksınız. Aslında birden çok tedarikçi
404 ihtiyacınıza cevap vermek için bir arada kullanılabilir. Aşağıdaki
405 örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir
406 arada kullanılmıştır.</p>
408 <pre class="prettyprint lang-config">
409 <Directory /www/docs/private>
412 AuthBasicProvider file ldap
413 AuthUserFile /usr/local/apache/passwd/passwords
414 AuthLDAPURL ldap://ldaphost/o=yourorg
420 <p>Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini
421 doğrulamaya teşebbüs edecektir. Kullanıcının kimliği
422 doğrulanamıyorsa LDAP tedarikçisi çağırılır. Eğer kurumunuz birden
423 çok kimlik doğrulama tedarikçisini yürürlüğe koyuyorsa bu, kimlik
424 doğrulama faaliyet alanının genişletilmesini sağlar. Diğer kimlik
425 kanıtlama ve yetkilendirme senaryoları tek bir kimlik doğrulaması
426 ile birden fazla yetkilendirme türüne izin verebilir.</p>
428 <p>Çok sayıda kimlik doğrulama tedarikçisi uygulamaya konulabileceği
429 gibi, çok sayıda yetkilendirme yöntemi de kullanılabilir. Bu örnekte
430 dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması
433 <pre class="prettyprint lang-config">
434 <Directory /www/docs/private>
437 AuthBasicProvider file
438 AuthUserFile /usr/local/apache/passwd/passwords
439 AuthLDAPURL ldap://ldaphost/o=yourorg
440 AuthGroupFile /usr/local/apache/passwd/groups
441 Require group GroupName
442 Require ldap-group cn=mygroup,o=yourorg
447 <p>Kimlik doğrulama konusunu biraz daha genişletirsek, <code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code> ve
448 <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code> gibi yetkilendirme taşıyıcısı
449 yönergelerle hangi iznin hangi sırayla uygulanacağını
450 belirlenebilir. <a href="../mod/mod_authz_core.html#logic">Yetkilendirme Taşıyıcıları</a> bölümünde bunun bir uygulama
451 örneğini görebilirsiniz.</p>
453 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
454 <div class="section">
455 <h2><a name="beyond" id="beyond">Yetkilendirmenin biraz ötesi</a></h2>
456 <p>Tek bir veri deposundan yapılacak tek bir sınamadan çok daha
457 esnek kimlik doğrulaması yapılabilir. Sıralama, mantık ve hangi
458 kimlik doğrulamasının kullanılacağını seçmek mümkündür.</p>
460 <h3><a name="authandororder" id="authandororder">Mantık ve sıralamanın uygulanması</a></h3>
462 <p>Yetkilendirmenin hangi sırayla uygulanacağı ve nasıl
463 denetleneceği geçmişte biraz gizemli bir konuydu. Apache 2.2'de,
464 tedarikçi tabanlı kimlik doğrulamasının devreye girmesiyle asıl
465 kimlik doğrulama işlemini yetkilendirme ve destek işlevselliğinden
466 ayırmak mümkün oldu. Bunun faydalarından birisi de kimlik
467 doğrulama tedarikçilerinin yapılandırılabilmesi ve auth modülünün
468 kendi yükleme sırasından bağımsız olarak özel bir sırayla
469 çağrılabilmesidir. Bu tedarikçi tabanlı mekanizmanın aynısı
470 yetkilendirmeye de getirilmiştir. Bunun anlamı <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinde hangi
471 izin yönteminin kullanılması gerektiğinin belirtmesinin yanında
472 hangi sırayla çağırılacaklarının da belirlenebildiğidir. Çok
473 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
474 yapılandırma dosyasında göründükleri sıra ile çağırılır.</p>
476 <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
477 taşıyıcısı yönergelerin devreye girmesiyle yetkilendirme
478 yöntemlerinin ne zaman çağırılacağı ve çağırıldığında ve erişime
479 izin verirken hangi kuralların uygulanacağı konusunda denetim
480 yapılandırmanın eline geçmektedir. Karmaşık yetkilendime mantığını
481 ifade etmek için kullanılan bir örneği görmek için
482 <a href="../mod/mod_authz_core.html#logic">Yetkilendirme
483 Taşıyıcıları</a> bölümüne bakınız.</p>
485 <p>Öntanımlı olarak tüm <code class="directive"><a href="../mod/mod_authz_core.html# require">
486 Require</a></code> yönergeleri, <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></a></code>
487 taşıyıcı yönergesinin içine konur. Başka bir deyişle eğer
488 belirtilen kimlik doğrulama yöntemlerinden herhangi biri başarılı
489 olursa yetkilendirme de sağlanmış olur.</p>
493 <h3><a name="reqaccessctrl" id="reqaccessctrl">Erişim denetimi için yetkilendirme tedarikçilerinin
496 <p>Kullanıcı adı ve parolasına göre kimlik doğrulama hikayenin
497 sadece bir bölümüdür. Sıklıkla insanlara kim olduklarına göre
498 değil birşeylere dayanarak izin vermek istersiniz. Örneğin nereden
501 <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
502 tedarikçileri ile, bir belgenin istendiği makinenin IP adresi veya
503 konak ismi gibi bazı özelliklerine dayalı olarak erişime izin
504 verip vermeyeceğinizi belirtebilirsiniz.</p>
506 <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,
507 isteklerin işlenmesi sırasında yetkilendirme aşamasında
508 çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin:
511 <pre class="prettyprint lang-config">Require ip <var>adres</var></pre>
514 <p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP
517 <pre class="prettyprint lang-config">Require host <var>alan_adı</var></pre>
520 <p>Burada, <var>alan_adı</var> bir tam nitelikli alan adıdır
521 (ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP
522 adresi de belirtilebilir.</p>
524 <p>Örneğin, yorum alanını gereksiz iletilerle dolduran birini uzak
525 tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları
528 <pre class="prettyprint lang-config">
531 Require not ip 10.252.46.165
536 <p>Bu adresden gelen ziyaretçiler bu yönergedeki içeriği
537 göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de
538 makine adı varsa şunu kullanabilirsiniz:</p>
540 <pre class="prettyprint lang-config">
543 Require not host host.example.com
548 <p>Eğer alan adının tamanıdan gelecek olan bütün erişimleri
549 engellemek isterseniz adresin ya da alan adının bir parçasını
552 <pre class="prettyprint lang-config">
555 Require not ip 192.168.205
556 Require not host phishers.example.com moreidiots.example
562 <p><code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code> yönergesini çok sayıda
563 <code class="directive"><a href="../mod/mod_authz_core.html#require"><Require></a></code> yönergesi ile birlikte kullanarak,
564 sadece <code>not</code> ile olumsuzlanan tüm koşulları gerçekleyen
565 bağlantılara erişim verilir. Başka bir deyişle, olumsuzlanan koşulları
566 gerçeklemeyen bağlantıların erişimi engellenir.</p>
570 <h3><a name="filesystem" id="filesystem">Erişim denetimi ve geriye uyumluluk</a></h3>
572 <p>Kimlik doğrulama için tedarik tabanlı mekanizma kullanımının
573 yan etkilerinden birisi,
574 <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>,
575 <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>,
576 <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> ve
577 <code class="directive"><a href="../mod/mod_access_compat.html#satisfy">Satisfy</a></code> erişim
578 denetim yönergelerine artık ihtiyaç duyulmamasıdır. Ancak eski
579 yapılandırmalarla uyumluluğu sağlamak için bu yönergeler
580 <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> modülüne taşınmıştır.</p>
584 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
585 <div class="section">
586 <h2><a name="socache" id="socache">Kimlik Doğrulama Arabelleği</a></h2>
587 <p>Zaman zaman kimlik doğrulama ağınızda veya sağlayıcı(ları)nızda kabul
588 edilemez yükler oluşturur. Bu çoğunlukla <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>
589 (veya üçüncü parti/özel sağlayıcıların) kullanıcılarını etkiler. Bununla
590 ilgilenmek için httpd 2.3/2.4, kimlik bilgilerini arabelleklemek ve özgün
591 sağlayıcıların yüklerini azaltmak için yeni bir arabellekleme sağlayıcısı
592 olarak <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> modülü ile gelmektedir.</p>
593 <p>Bu, bazı kullanıcılar için önemli bir başarım artışı sağlayabilir.</p>
594 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
595 <div class="section">
596 <h2><a name="moreinformation" id="moreinformation">Daha fazla bilgi</a></h2>
597 <p>Daha fazla bilgi için <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ve
598 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modüllerinin belgelerine bakınız.
599 <code class="directive"><a href="../mod/mod_authn_core.html#<authnprovideralias>"><AuthnProviderAlias></a></code>
600 yönergesi ile bazı yapılandırmalarınızı basitleştirebilirsiniz.</p>
602 <p>Apache tarafından desteklenen şifrelerle ilgili bilgi için <a href="../misc/password_encryptions.html">Parola Biçemleri</a>
603 belgesine bakınız.</p>
605 <p><a href="access.html">Erişim Denetimi</a> nasıl belgesinden de
606 bazı bilgiler edinebilirsiniz.</p>
608 <div class="bottomlang">
609 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> |
610 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
611 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
612 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
613 <a href="../tr/howto/auth.html" title="Türkçe"> tr </a></p>
614 </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>
615 <script type="text/javascript"><!--//--><![CDATA[//><!--
616 var comments_shortname = 'httpd';
617 var comments_identifier = 'http://httpd.apache.org/docs/2.4/howto/auth.html';
619 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
620 d.write('<div id="comments_thread"><\/div>');
621 var s = d.createElement('script');
622 s.type = 'text/javascript';
624 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
625 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
628 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
630 })(window, document);
631 //--><!]]></script></div><div id="footer">
632 <p class="apache">Copyright 2013 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
633 <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[//><!--
634 if (typeof(prettyPrint) !== 'undefined') {