"SNS 연동 시 동일한 SNS계정으로 이중 연동이 가능한 상태

예) 하나의 네이버 아이디로 2개의 LMS 계정 연동 가능. 해당 SNS 계정 이용하여 로그인 시 가장 처음에 연결된 계정으로 로그인이 됨.
 - 문제점 : PC를 공용으로 사용할 경우 네이버, 카카오톡, 구글에 연동된 계정 확인을 하지 않고 바로 연동할 가능성이 있으며, 그럴 경우 2개 이상의 LMS 계정으로 연동이 됨
 -> SNS계정 연동 시, 해당 계정으로 연동된 LMS 계정이 있을 경우 경고창 출력

'이미 연동된 SNS 계정입니다. SNS 계정을 다시 확인해주세요.'"
This commit is contained in:
lch 2021-07-14 02:20:48 +00:00
parent 66316d23e3
commit 1272c56e1d
2 changed files with 22 additions and 2 deletions

View File

@ -498,8 +498,24 @@ namespace NP.Base.Controllers
{ {
try try
{ {
Dao.Save("users.snslink.up", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "snsid", snsid }, { "jointype", jointype }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }); if (string.IsNullOrEmpty(snsid) && jointype == 0) //SNS 연동을 해제
return JsonBack(new JsonRtn() { code = 1 }); {
Dao.Save("users.snslink.up", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "snsid", snsid }, { "jointype", jointype }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
return JsonBack(new JsonRtn() { code = 1 });
}
else //SNS 연동
{
var result = Dao.Get<Users>("users.check.snsid", new Hashtable() { { "snsid", snsid }, { "jointype", jointype } }).Count();
if (result > 0) //SNS 연동 중복체크
{
return JsonBack(new JsonRtn() { code = -99 });
}
else
{
Dao.Save("users.snslink.up", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "snsid", snsid }, { "jointype", jointype }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
return JsonBack(new JsonRtn() { code = 1 });
}
}
} }
catch (Exception e) catch (Exception e)
{ {

View File

@ -92,6 +92,10 @@
alert("연동하였습니다."); alert("연동하였습니다.");
goRefresh(); goRefresh();
} }
else if(capResult.code == -99){
alert("이미 연동된 SNS 계정입니다. SNS 계정을 다시 확인해주세요.");
return;
}
else { else {
alert("SNS 연동에 실패하였습니다. \r\n관리자에게 문의하세요."); alert("SNS 연동에 실패하였습니다. \r\n관리자에게 문의하세요.");
return; return;