asp.net 응용 프로그램에 작동하는 로그인 양식이 있습니다. 사용자 이름과 암호 텍스트 상자와 로그인을 처리하는 버튼이있는 표준 항목입니다. 잘 작동합니다.
사용자가 내 asp.net 응용 프로그램의 일부가 아닌 별도의 일반 html 페이지에서 사용자 이름과 암호를 입력 할 수 있도록하는 새로운 요구 사항이 있습니다. 표준 html-양식, 입력, 제출 버튼 등을 사용하여이 작업을 수행 할 계획입니다. 양식 작업은 내 asp.net 로그인 페이지의 URL이되고 그 방법은 POST가됩니다.
아마도 Page_Load 이벤트에서 asp.net 로그인 양식의 페이지 뒤에있는 C # 코드에서 페이지에 대한 요청에 전달되는 사용자 이름과 암호 값이 포함되어 있는지 확인하는 것입니다. 그렇다면 필요합니다. 그 값을 읽고 누군가가 asp.net 페이지에서 로그인 버튼을 클릭 한 것처럼 로그인을 처리합니다. 그렇지 않은 경우 평소와 같이 로그인 양식을 표시합니다.
내 페이지에 대한 요청에서 사용자 이름 및 비밀번호 값의 존재를 확인하고 읽는 방법은 무엇입니까?
답변
Request.Form NameValueCollection을 읽고 그에 따라 논리를 처리합니다.
NameValueCollection nvc = Request.Form;
string userName, password;
if (!string.IsNullOrEmpty(nvc["txtUserName"]))
{
userName = nvc["txtUserName"];
}
if (!string.IsNullOrEmpty(nvc["txtPassword"]))
{
password = nvc["txtPassword"];
}
//Process login
CheckLogin(userName, password);
… 여기서 “txtUserName”및 “txtPassword”는 게시 페이지에있는 컨트롤 의 이름 입니다.
답변
if (!string.IsNullOrEmpty(Request.Form["username"])) { ... }
username은 제출 페이지에 입력 한 이름입니다. 암호는 동일한 방법으로 얻을 수 있습니다. null이 아니거나 비어 있으면 사용자로 로그인합니다 (사용중인 ASP.NET Membership에 대한 정확한 단계를 기억하지 못함).
답변
NameValueCollection nvclc = Request.Form;
string uName= nvclc ["txtUserName"];
string pswod= nvclc ["txtPassword"];
//try login
CheckLogin(uName, pswod);