Bir mobil projede webervis ile bazı bilgiler gönderilecek. Bunların arasında kullanıcıyı belirlemek için tlf nosu , imei nosu düşündüm. Stackoverflow da tel noya erişmeyi buldum ama çalışmadı o kodlar. (Belki android sürümüyle ilgili..)
Başka nasıl tekilleştirebiliriz kullanıcıyı?
Proje, basit şekilde işyeri devam çizelgesi. Kart basmak gibi.. Sabah mesaiye gelince kullanıcı telefonundan tıklayacak , çıkarken de tıklayacak sadece.. işyerinin wi-fi i kullanıldığı için sabit IP olacağından başka yerden tıklasa bile geçersiz olacak. Ayrıca konum bilgisi de gidecek. Daha olmazsa ilk kullanımda TC kimlik nosu kaydetttirip onu göndermeyi düşünüyorum..
Merhaba,
Her cihaza özel ID mevcut yanlış bilmiyor isem ;
Bu kapsamda bu örnek işinizi çözebilir.
Bunlardan sadece Device ID'yi kullanarak ya da telefon numarasının son hanelerini + modelini + ekran ölçülerini harmanlayıp o kişiyi tekilleştirebilirsiniz.
[
attachment=1533]
[
attachment=1534]
Merhaba.
* Önce sorunuza cevap vereyim,
(1) Özel bir şirket telefonunuza bir uygulama yazın. Bu uygulama, ona gelen SMS'lerin içeriğinde gelecek TCKimlik nosunu ve IMEI nosunu, başlığından da telefon nosunu alsın ve şirket ağındaki bir veritabanına kaydetsin. Ayrıca bu TCKimlik no personel kayıtlarıyla örtüşüyorsa,
gönderenin aynı Telefon Nosunu gerisin geriye SMS mesaj metni içinde onay için geri yollasın.
(2) Şahısların telefonuna hazırladığınız uygulama, ilk kullanımda bu özel şirket telefonuna içinde TCKimlik no ve IMEI no olan bir SMS göndersin. Şirket uygulamanız, sistemda bu TC kimlik no tanımlı ise kendi telefonunu geri SMS içinde kendi numarası dönecektir. Bunu uygulama içinde IMEI ile birleştirip ID olarak kullanabilirsin.
* Böylece telefon sim kartı değişikliği olduğunda dahi yeni numara tespiti de sağlanmış olur. Hatta çift aşamalı güvenli giriş için dahi bu sistemi hazır altyapı olarak kullanabilirsiniz. ( uygulama erişimi için sms gönder - otomatik onay al şeklinde, kullanıcı dahi giden gelen sms'i algılamaz arka planda sessiz sedasız onay SMS mekanizması hazır)
Şimdi alternatifler :
* Sistemi siz mi tasarlıyorsunuz ( sorunun nedeni, talep esnekliği (0) değilse yani alternatif çözümlere açık mısınız ? )
* Telefon cihaz, personele şirket tarafından mı sağlanıyor? Çünkü mazeret oluşturacak bir teknik altyapı istenmez kanaatindeyim. (Telefonun pili bitti, lastik patladı, şoför atladı tarzı... )
* Konum bilgisi açık alanda ve havada net bilgi verir, cihazları şirket içinde de farklı noktalarda kullanmak bu konum verisini yanlışlar.
Öneri :
* Bir tabletin girişlere konması ve oradan camera/photo destekli giriş onayı oluşturmak daha basit ve efektif olabilir mi acaba.
Daha fazla bilgiye ulaşmak ve alternatifler bulmak isterseniz UUID kavramını Forum'da ya da Google üzerinde aratabilirsiniz.
(18-12-2020, Saat: 17:32)mrmarman Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba.
* Önce sorunuza cevap vereyim,
Şimdi alternatifler :
* Sistemi siz mi tasarlıyorsunuz ( sorunun nedeni, talep esnekliği (0) değilse yani alternatif çözümlere açık mısınız ? )
* Telefon cihaz, personele şirket tarafından mı sağlanıyor? Çünkü mazeret oluşturacak bir teknik altyapı istenmez kanaatindeyim. (Telefonun pili bitti, lastik patladı, şoför atladı tarzı... )
* Konum bilgisi açık alanda ve havada net bilgi verir, cihazları şirket içinde de farklı noktalarda kullanmak bu konum verisini yanlışlar.
Öneri :
* Bir tabletin girişlere konması ve oradan camera/photo destekli giriş onayı oluşturmak daha basit ve efektif olabilir mi acaba.
Tabii her öneriye açık olmak zorundayız. Zaten mobil uygulama hakkında emekleme devresinde sayılırım, sadece öğrenme amaçlı düşündüm bunları, ortada şirket falan da yok (ama gelişirse başka bir ortamda kullanmaya girişebilirim).
Desktop client-server webservis , json işlerinde sıkıntım olmaz da , mobile gelince iş sarpa saracak..
HES kodu okutur gibi girişe bir karekod koyup onu okutmayı da düşündüm ama her makinanın kamerası düzgün okuyamayabiliyor. En az maliyetli, basitçe, telefondan tek tıkla olabilir diye düşündüm.
Merhablar. projemde bende kullanıyorum bunu. Tel no yu almak mümkün değil gibi (Güvenlik politikalarından dolayı). Sadece cihaz id sini alabilrsiniz. fakat farklı os lar ve farklı sürümlerinde aynı cihaza farklı idler verebiliyor. mesela ios da çok başıma geldi bu.
cihaz id sini aldığım kodlar aşağıdadır.
var
{$IFDEF IOS}
Device: UIDevice;
{$ENDIF}
{$IFDEF IOS}
Device := TUIDevice.Wrap(TUIDevice.OCClass.currentDevice);
dm.telno := string(Device.identifierForVendor.UUIDString.UTF8String);
{$ENDIF}
{$IFDEF ANDROID}
dm.telno := JStringToString(TJSettings_SECURE.JavaClass.getString(SharedActivity.getContentResolver, TJSettings_SECURE.JavaClass.ANDROID_ID));
{$ENDIF}
(19-12-2020, Saat: 12:56)mcuyan Adlı Kullanıcıdan Alıntı: [ -> ]Merhablar. projemde bende kullanıyorum bunu. Tel no yu almak mümkün değil gibi (Güvenlik politikalarından dolayı). Sadece cihaz id sini alabilrsiniz. fakat farklı os lar ve farklı sürümlerinde aynı cihaza farklı idler verebiliyor. mesela ios da çok başıma geldi bu.
cihaz id sini aldığım kodlar aşağıdadır.
var
{$IFDEF IOS}
Device: UIDevice;
{$ENDIF}
{$IFDEF IOS}
Device := TUIDevice.Wrap(TUIDevice.OCClass.currentDevice);
dm.telno := string(Device.identifierForVendor.UUIDString.UTF8String);
{$ENDIF}
{$IFDEF ANDROID}
dm.telno := JStringToString(TJSettings_SECURE.JavaClass.getString(SharedActivity.getContentResolver, TJSettings_SECURE.JavaClass.ANDROID_ID));
{$ENDIF}
Project tempt.apk raised exception class EJNIException with message 'java.lang.SecurityException: getDeviceId: Neither user 10153 nor current process has android.permission.READ_PHONE_STATE.'.
Böyle bir hata alıyorum. Sanırım permission ayarları ile ilgili...