Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.

Web service(json) ile login işlemi?

0 oy
78 kez görüntülendi
24, Ocak, 2017 ios development kategorisinde csayin tarafından soruldu

Merhabalar herkese,

uygulamamda webservis'im deki kullanıcılar tablosunu kullanarak login islemi yapmalıyım. buradaki örnek uygulamayı göz önüne alarak ilerledim. ancak webservisler uzerinde yeterince deneyimim olmamasi neticesinde bu ornek benim uygulamama uyarlayamadım. benim webservis'in kullanıcılar tablosunun linki burada. biraz fazla ucu acık bir soru oldu ancak yardimci olabilecek yada daha önce yaptıgı bir uygulamadaki login kısmını paylaşabilecek olan varsa çok sevinirim. herkese iyi çalışmalar..

24, Ocak, 2017 yasin tarafından yorumlandı
verdiğin örnek'de gayet güzel anlatılmış, yapamadığın nokta nedir?
24, Ocak, 2017 csayin tarafından yorumlandı
yazarak nasil ifade ederim bilemedim kaba taslak halde uygulamam linkte kendi webservisimi ve tablomu kullandim ancak sonuca varamadim. göz atarsaniz sevinirim.

https://drive.google.com/open?id=0B-mxXNuEWybRQ3hiejZ4MXVFZ0E

1 cevap

0 oy
24, Ocak, 2017 yasin tarafından cevaplandı
24, Ocak, 2017 csayin tarafından seçilmiş
 
En İyi Cevap

örneği inceledim.
şu adrese https://www.netdata.com/JSON/a2d2f4d7
kullanıcı adı ve şifreyi post ediyorsun.
ama bu adres ne olursa olsun iki tane kullanıcıya ait kullanıcı bilgilerini json formatında cevap veriyor.

{
    ID = 1;
    "dc_Kullanici_Adi" = ahmet;
    "dc_Sifre" = 123;
},
{
    ID = 2;
    "dc_Kullanici_Adi" = cemal;
    "dc_Sifre" = 123;
}

öncelikle giriş yetkisini verecek web servisin kullanıcıların bilgilerini vermesi çok çok büyük bir hata.
sen kullanıcı bilgilerini web servise gönderirsin, web servisi bunu elindeki bilgilerle eşleştirir ve bunun karşılığında sana bir session token veya en basitinden true veya false bir boolean döndürür.
zaten uygulamanda launchViewController içerisindeki DoLogin methodunda en son block'da gelen parse edilmiş json verisi içerisinde önce "data" onun içerisinde de "session" değeri aranıyor.

if let data_block = server_response["data"] as? NSDictionary
        {
            if let session_data = data_block["session"] as? String
            {

ama senin sunucu kullanıcı bilgilerini json olarak geri veriyor.
böyle olmaz.

bu adrese yapılan
https://www.netdata.com/JSON/a2d2f4d7
post request'i değerlendirilmeli ve içeriğinde "data" ve onun altında "session" olan json formatında bir cevap vermeli.

24, Ocak, 2017 csayin tarafından yorumlandı
verdiğiniz cevap için çok teşekkür ederim. bu uygulamanın ilerki aşamalarında bana gerçekten çok yardımcı olacak bir nokta oldu. ama uygulama şuan bi demo için hazırlanıyorum yani yukarıda bahsettiğiniz servisteki hataların şuanki durumda bi önemi yok. eğer bu demo onay alirsa uygulama baştan bir tasarımla ve sağlam bir webservis ile yeniden yazılacak.  cevabınıza baglı olarak ben kendi yazdığım koddaki ''session'' sorgusunu kenara atıp gelen verileri sanki birer sabitmiş gibi eşleyerek basit bir login yapmalıyım anladıgım kadarıyla.
24, Ocak, 2017 yasin tarafından yorumlandı
evet, aynen öyle.
yani senin sunucun kullanıcılarının bilgilerini vermek yerine,

{"data":{"session":"someToken"}}

şu json datasını verirse eğer. çalıştığını göreceksin.
24, Ocak, 2017 csayin tarafından yorumlandı
teşekkür ederim hocam webservisten çözülecek inşallah durum.
...