새로 생성 된신규 등록 사용자에 대한 자동 생성 링크
사용자에게 mywebapp가 사용자의 전자 메일로 보낼 자동 생성 링크를 만들려고합니다.
사용자가 링크를 클릭하면 내가
로 사용자를 업데이트해야합니다 '활성화'.
그래서 나는 몇 가지 질문을 가지고 나는 내가 지금까지 읽은에서내 논리가 맞다면 이해합니다.
- 사용자는
그래서 여기 내가 해시 부분입니다 ......
2.My 웹 서비스 프로세스 데이터를 입력하고 계정을 만들 형태를 눌러 채 웁니다 고유 한 소금으로 입력 한 암호를 데이터베이스에 저장하십시오.
는 그래서 난
user_ID username password active
1 taniamm20 12346645556665566666 0
내가
http://localhost:9092/localbusscat/services/localbusscat/UpdateDB?choID=12346645556665566666
는 것이 좋습니다 예를
에 대한 확인 링크이 해시 암호를 사용하여 같은 테이블이 있습니까?또는이 시점에서 사용자의 암호를 저장하지 말고 user_id를 저장하고 해당 사용자의 java.UUIID를 사용하여 긴 고유 키를 생성하고 테이블에 저장 한 다음 확인을 위해이 고유 키를 사용해야합니다.
내가public String UpdateDB(int choID) throws ClassNotFoundException
{
String strDelReturn = "UPDATE_FAIL";
Class.forName("org.postgresql.Driver");
try
{
conn = DriverManager.getConnection("....");
}
catch (SQLException ex)
{
ex.printStackTrace();
}
PreparedStatement pstmt = null;
String selectQuery = "update user_table set active=active+1 WHERE password="+ choID ;
try {
pstmt = conn.prepareStatement(selectQuery);
int rowss = pstmt.executeUpdate();
if (rowss != 0)
strDelReturn = "UPDATE_OK";
}
catch (Exception ex)
{
}
return strDelReturn;
}
나는 임의의 영숫자 문자열을 만들고 유효성 검사 제한 시간 등과 함께 '임시 데이터베이스'에 저장해야한다고 생각합니다. 'x'분 후에 링크를 클릭하지 않으면 유효성이 만료되고 링크가 유효하지 않게됩니다. 물론 문자열은 데이터베이스에서 고유해야합니다. 유효성 검사가 끝나면 '활성 플래그'를 업데이트하거나 실제 사용자 데이터베이스에 '첫 번째 삽입'을 수행하면 모든 설정이 완료됩니다. –
해시 된 암호가 로그인에 사용되면 다른 해시를 생성하여 활성화 코드로 사용해야합니다. – Pietu1998
refugnic-eternium 덧글 외에도 고유 한 ID로 긴 형식의 날짜를 사용할 수 있으므로 만료 된 링크를 쉽게 계산할 수 있습니다. 하지만 오래 유지하는 방법을 동기화하는 동안 생성 :) – Sach