안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 고수님들...
급하게 문의 할것이 있어서 요.
웹서비스는 윈도우 서버로 구성했구요..
안드로이드 앱두 거의 제작이 끝났는데...
요구사항중에 단일 로그인 그러니까 한 아이디로 중복 로그인이 안되게 해야 하는것이 있어서요.
google에서 찾아보고 펍에서도 찾아봐도 마땅하게 설명된 것이 없어서요.
방식이나 방법이라도 좀 알려 주시면 정말 감사하겠습니다.
고수님들에 답변 부탁 드립니다.
감사합니다.
급하게 문의 할것이 있어서 요.
웹서비스는 윈도우 서버로 구성했구요..
안드로이드 앱두 거의 제작이 끝났는데...
요구사항중에 단일 로그인 그러니까 한 아이디로 중복 로그인이 안되게 해야 하는것이 있어서요.
google에서 찾아보고 펍에서도 찾아봐도 마땅하게 설명된 것이 없어서요.
방식이나 방법이라도 좀 알려 주시면 정말 감사하겠습니다.
고수님들에 답변 부탁 드립니다.
감사합니다.
2010.09.07 15:58:45
어디 까지 찾아 보셨는지 모르겠지만 그냥 기본적으로 웹 사이트 로그인 중복은 찾아 보시면 많을 꺼에요 세션에 시간을 비교 해서 하는 방법 이거나.. 뭐 ip 비교 하는것도 있고, DB 사용 하는 방법도 있고.. 등등.. 각 방법 마다 장단점이 있습니다. 좀 찾아 보시면 될꺼 같네요.. 아님 각 아이디 별로 단말기 등록 해서 그 한 아이디에 단말기 고유 번호 (물리주소등) 등록 하시든지 하면 되지 않을까요?
2010.09.07 16:09:53
나이트로님 답변대로 웹사이트 로그인 중복 기능으로 가는 편이 맞겠습니다만..ip 같은 경우는 인터넷 접속 시도시에 항상 같은 ip를 받는다는 보장이 없습니다. 그래서 이것은 문제가 있구요. 웹서비스쪽 DB 사용방법이 가장 무난 합니다만 이 부분도 고민해야 할 부분이 있습니다. 로그인을 하게 되면 현재 로그인 중이라는 것을 웹서비스쪽 DB에 남겨서 다른 사람이 로그인 하는 것을 못하도록 막아야 합니다. 또 앱이 종료되거나 로그아웃할때 이 기록을 지워줘야 하구요. 단말기 고유 번호는 먼저 요구사항을 하나 더 확인하실것이..만약 사용자가 로그인을 하는데 특정폰으로만 로그인 해야 한다면 이 기법이 가장 확실합니다. 하지만 특정폰에 대한 제약이 없어야 한다면 이 기법은 문제가 있습니다.
2010.09.07 16:20:25
답변 감사드립니다.
앱에서 사용할때 네트워크가 불안하거나 해서 그냥 종료 됐을 경우는 어떻게 처리해야 하나요..그 부분이 궁금합니다. 저희도 디비로 하는 방식으로 하려고 했으나 와이파이나 3G 불안해서 끊어졌을떄...디비쪽에서는 접속으로 남는다면 처리를 어떻게 해야 하는지..
다시 답변 부탁 드릴꼐요...TT
앱에서 사용할때 네트워크가 불안하거나 해서 그냥 종료 됐을 경우는 어떻게 처리해야 하나요..그 부분이 궁금합니다. 저희도 디비로 하는 방식으로 하려고 했으나 와이파이나 3G 불안해서 끊어졌을떄...디비쪽에서는 접속으로 남는다면 처리를 어떻게 해야 하는지..
다시 답변 부탁 드릴꼐요...TT
2010.09.07 18:18:28
세션은 항상 Timeout을 가져야 합니다.
세션 관리자가 마지막 응답시간과 세션의 타임아웃 리미트를 체크해서
로그아웃 처리를 강제로 해버리는게 일반적입니다.
이건 정책적으로 정하고 가야 하는 사항이고... 모두를 만족시킬만한 그런 방법은 없다고 봅니다.
세션 관리자가 마지막 응답시간과 세션의 타임아웃 리미트를 체크해서
로그아웃 처리를 강제로 해버리는게 일반적입니다.
이건 정책적으로 정하고 가야 하는 사항이고... 모두를 만족시킬만한 그런 방법은 없다고 봅니다.
2010.09.08 10:42:26
웹쪽을 어떤것으로 구현했는지는 모르겠지만..
세션이 타임아웃될때..그때 이벤트를 태워서 동작시키게끔 할 수 있습니다..
세션 타임아웃시에 접속 끊어졌음으로 정리해도 되죠..
근데..어차피 웹서비스쪽을 이용할때는 이용하는 시점에서만 연결을 시도하고 해당 연결을 바로 끊어버리기때문에..
네트웍이 계속 꾸준히 연결되어 있는 상태로 유지해야 하는것은 아닙니다..
다만 작업을 하는 시점에 그때 연결이 되기만 하면 되는거죠..
웹브라우저로 홈페이지를 볼때 홈페이지 로딩이 다 끝났는데도 계속 웹브라우저가 웹서버와 소켓통신을 하는 것은 아니자너요..
그런 관점에서 보시면 될듯 합니다..
세션이 닫히는 시점은 아마 앱이 종료될때가 세션이 닫히는 시점이겠죠..