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