나는 winform 프로젝트에서 일하고 있습니다. 내 장면에서 나는 절약하고 username
및 password
사용자에 .txt
지정된 파일 credentials.txt
. 이제 응용 프로그램을 처음 열 때 credentials.txt
비어 있음을 의미 합니다. 로그인 양식에 사용자 이름과 비밀번호를 입력해야합니다. 그러나 때 가까운 응용 프로그램과 login agian
, 나의 login form
.txt 파일에서 사용자 이름과 암호를 읽고 직접 해당 로그인해야합니다. 열리지 않습니다 login form
.
txt 파일에 사용자 이름과 비밀번호를 저장했습니다. 그러나 다음 단계를 수행하는 방법을 모릅니다.
.txt 파일에 자격 증명을 저장하는 내 코드 :
private void btnLogin_Click(object sender, EventArgs e)
{
try
{
string Log_API = "http://api.retailbutton.co/WS/Service.php?Service=employeeLogin";
if (LoginUser(Log_API))
{
logIn_Status = "true";
GlolbalUtil.LogIn_Status = logIn_Status;
this.Hide();
string credentialPath = Environment.CurrentDirectory + "\\credentials\\credentials.txt";
using (StreamWriter writer = new StreamWriter(credentialPath, true))
{
writer.WriteLine("UserName :" + txtUsername.Text + Environment.NewLine + "Password :" + txtPassword.Text);
}
frmDash frmDash = new frmDash();
frmDash.Owner = this;
frmDash.Show();
txtUsername.Text = "";
txtPassword.Text = "";
//GlolbalUtil.accept_status = "1";
}
else
{
MessageBox.Show("Please Check Username and password");
}
}
...
먼저 사용자 이름과 비밀번호를 더 간단한 방법으로 저장하여 읽기가 더 쉬워야합니다.
writer.WriteLine(txtUsername.Text);
writer.WriteLine(txtPassword.Text);
로그인 양식 로더에 다음과 같이 저장 한 후 :
var credentialLines = File.ReadAllLines(...your path...);
if(credentialLines.Any())
{
var username = credentialLines[0];
var password = credentialLines[1];
/// Create an overload for your LoginUser method
/// so it can take credentails as parameteres
if (LoginUser(Log_API, username, password))
{
logIn_Status = "true";
GlolbalUtil.LogIn_Status = logIn_Status;
//... other codes for authorization
//... navigate to your main control maybe
return;
}
}
LoginForm.Show();
그렇게해야합니다.
추신 : 일반 텍스트 형식으로 사용자 자격 증명을 저장하는 것은 remember me
목적에 가장 적합한 방법이 아닙니다 . 대신 신뢰할 수있는 암호화 알고리즘으로 먼저 사용자 이름 암호 튜플을 암호화 한 다음 읽는 동안 암호를 해독하십시오. 이것은 사용자 자격 증명으로 작업하는 동안 매우 신중하게 처리해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다