You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: day-10/api/Security.md
+95-4Lines changed: 95 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,5 @@
1
-
# 1. Bağımılılık
1
+
# 1. Basic Authentication
2
+
## 1.1. Dependency
2
3
3
4
Öncelikle projeye yeni bir bağımlılık eklenir.
4
5
@@ -13,7 +14,7 @@ Yukarıdkai bağımlılık ifadesiyle artık API güvenliği ilk adım atılır.
13
14
* Logout olma şansı yoktur.
14
15
* Kullanıcı adı ve şifresine müdahale edilemez.
15
16
16
-
#2. Application Security Config
17
+
## 1.2. Application Security Config
17
18
18
19
**security/config** gibi bir isimle yeni bir klasör projeye dahil edilir.
19
20
@@ -34,7 +35,7 @@ public class ApplicationSecurityConfig extends WebSecurityConfigurerAdapter {
34
35
}
35
36
```
36
37
37
-
#3. Authentication Nasıl Yapılır?
38
+
## 1.3. Authentication Nasıl Yapılır?
38
39
Bu metot üzerinde authentication işleminin nasıl yapılması gerektiği tanımlanır. Basic Authentication ile API güvenliğini sağlayalım.
39
40
40
41
```java
@@ -56,4 +57,94 @@ public class ApplicationSecurityConfig extends WebSecurityConfigurerAdapter {
56
57
Bu işlem sonucunda herhangi bir kaynak üzerinden GET, POST, PUT ve DELETE işlemlerinin yapılması tavsiye edilir.
57
58
User ve password bilgisi girilmeden hiçbir http isteği yanıtlanmaz iken; user ve password bilgisi bir Authorization header ifadesiyle gönderildiğinde yalnızca GET isteklerinin yanıtlandığı ancak POST, PUT ve DELETE gibi işlemlerin ise yanıtlanmadığı (Forbidden) yani yasaklandığı görülür.
**UserDetailService** üzerinden kullanıcı tanımları gerçekleştirebilir. Bu noktada kullanıcı bilgilerini tutmak üzere **InMemoryUserDetailsManager** kullanıyoruz.
68
+
69
+
Ancak **UserDetailService** implemente eden daha farklı sınıflar da vardır. Detaylar için resmi dokümantasyon incelenebilir [Interface UserDetailsService](https://docs.spring.io/spring-security/site/docs/3.2.8.RELEASE/apidocs/org/springframework/security/core/userdetails/UserDetailsService.html).
70
+
71
+
**UserDetailService** interface yapısını implemente eden sınıflar:
0 commit comments