Arama butonu
Bu konudaki kullanıcılar: 1 misafir
8
Cevap
1643
Tıklama
0
Öne Çıkarma
Mvc yetkisiz işleme karşı ölem
H
5 yıl
Yarbay
Konu Sahibi

Not kaydedilen bir mvc projesi olduğunu varsayalım. Bir kullanıcın öğreyi denetle diyerek veya url değiştirererk kendine ait olmayıp görmemesi veya değiştirmemesi gereken şeylere karşı önlem almak istiyorum.

Örn: Note/Edit/55 adresine gidildiğinde o notu oluşturan kullanıcı not kendine ait olmasa da görüp, silip, değiştirebiliyor.

Önlem olarak if(Session.Currentuserid == note.userid) ise işleme devam et şeklinde kodlar akla geliyor. Ancak bu şekilde her action da böyle önlem almak gerekiyor. Bu tip şeylere karşı daha spesifik bir çözüm olup olmadığını merak ettim.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi Hobar -- 10 Mayıs 2020; 2:59:34 >

A
5 yıl
Yarbay

Auth yok mu
Yabanci Note/Edit/55 bu adrese nasıl giriyor

Nodejste middleware gibi bir şey var , araya auth için koyulabiliyor sanırım
Dotnet te de Böyle bir şey yapılabilir





< Bu mesaj bu kişi tarafından değiştirildi alimmm78 -- 9 Mayıs 2020; 5:3:14 >

< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
H
5 yıl
Yarbay
Konu Sahibi

Auth var o action ı sadece üyeler görebiliyor. Ama bu şekilde bir üye başka bir üyenin mesajına ait id yazdığında onu da görüyor.




Bu mesajda bahsedilenler: @alimmm78
O
5 yıl
Çavuş

SQL sorgunda

SELECT * FROM Notlar Where id = DegiskenNotID

yerine

SELECT * FROM Notlar Where id = DegiskenNotID and kullaniciid = DegiskenKullaniciID

şeklinde yazarsan ulaşamaz.



D
5 yıl
Yarbay

Rol tabanlı yapabilirsin.

Önce adresileri db ye kayıt et.

Sonra rolleri kayıt et

sonra rollere tek tek erişim yetkisi ver.

sonra kullanıcıları rollere bağla.

Sonrada her controllere içindeki adreslere erişim için kontrol sistemi kur.


Bu mesaja 1 cevap geldi.
H
5 yıl
Yarbay
Konu Sahibi

Rol de sorun yok. Admin in görmesi gereken sayfayı admin görüyor. User ın görmesi gereken sayfayı da User görüyor. Ama bir User başka User ın verisini görüyor.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Delifisek.Tux
L
5 yıl
Teğmen

Bir tane basecontroller yapip , sonra kontrol yapmak istedigin sayfalari yani controller lari bu basceontrollerden turet. Basecronteller icerisinde istedigin kontroli yapabilirsin. Boylece bu sayfadan tureyen butun sayfalarda bu islem gecerli olmus olur. Ayrica sessin kullanmaktansa claimleri bir arastirmani oneririm.



< Bu ileti mobil sürüm kullanılarak atıldı >

D
5 yıl
Yarbay

Üstte yazılmış zaten SQL değiştirip, her satıra bir sahip id si koyacaksın. Başka türlü zor. hatta olmaz. Sen aynı tabloyu bir den fazla kullanıcıya paylaştıracaksan ve bunların ayrışmasını istiyorsan o tabloya veri sahibi bilgisini koyacaksın. Yada her kullanıcıya ayrı tablo ve veya ayrı database yaratman gerekiyor :)


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Hobar
H
5 yıl
Yarbay
Konu Sahibi

Kafamdan ürettiğim çözüm oydu zaten. Bir mesajı çekerken if(o user == current user) diye. Daha bilinen oturmuş bie çözüm var mı diye merak ettim.




Bu mesajda bahsedilenler: @Delifisek.Tux
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.