2012-05-15 3 views
0

안녕하세요 포럼에서 ocmments를 로그인하고 게시 할 수있는 포럼을 만들고 있습니다. 세션 변수로 사용자 이름을 입력하여 댓글을 게시하고 사용자 이름을 db에 삽입 할 수 있습니다. 또한 hello 사용자 메시지를 표시합니다.사용자 이름에 대한 세션 변수

protected void Button1_Click(object sender, EventArgs e) 
{ 
    DataSet ds = new DataSet(); 
    localhost.Service1 myws = new localhost.Service1(); 
    ds = myws.GetUsers(); 
    foreach (DataRow row in ds.Tables[0].Rows) 
     if (txtusername.Text == System.Convert.ToString(row["username"]) && 
     txtpassword.Text == System.Convert.ToString(row["password"])) 
     { 
      System.Web.Security.FormsAuthentication.RedirectFromLoginPage(txtusername.Text, false); 
     } 
     else 
      Label3.Text = "Invalid Username/Password"; 
} 

내가 여기 세션 변수를 선언 마십시오 : 아래

내 로그인 코드?

처럼 :

Session["username"] = "username"; 

DB를에서

감사

세션을 사용할 필요가 없습니다

답변

0

을 값 사용자 이름을 사용하려면 입력 할 내용도 확실하지 않다. FormsAuthentication.RedirectFromLoginPage 메서드를 호출하면 대상 페이지 내에서 User.Identity.Name을 사용하여이 메서드에서 내 보낸 인증 쿠키에서 현재 연결된 사용자에게 액세스 할 수 있습니다.

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (User.Identity.IsAuthenticated) 
    { 
     string username = User.Identity.Name; 
     // ... 
    } 
} 

는 인증 난 당신이 following article을 읽어 초대 ASP.NET에서 작동 양식 방법에 대한 자세한 내용은.

+0

좋아요, 사용자 이름에 완벽하게 액세스 할 수 있습니다. 감사합니다 – user1389384

0

이미 양식 인증 (FormsAuthentication.RedirectFromLoginPage(txtusername.Text, false))을 사용하고 있습니다. 따라서 Darin은 언급했듯이 User.Identity.Name을 통해 이미 사용 가능하므로 세션은 사용자 이름을 저장할 필요가 없습니다.

나는 폼 인증에 두 튜토리얼 유용한 찾을 수 있습니다 작성했습니다 :

은 또한, 회원의 사용을 고려한다. 멤버쉽은 ASP.NET에 내장 된 서브 시스템으로 사용자 계정을 처리하고 계정 생성, 계정 삭제 등의 API를 제공합니다. 즉, 모든 코드를 직접 작성하지 않아도됩니다. 그리고 로그인 웹 컨트롤을 사용하여 새 계정을 만들고, 사용자를 서명하고, 암호를 다시 설정하는 등의 작업은 모두 간단하고 코드가 거의 필요하지 않습니다. 자세한 내용은 내 Membership tutorials을 참조하십시오.

해피 프로그래밍!

+0

고마워요,하지만 언급해야만합니다. 나는 엄격하게 말해서 웹 서비스를 사용하여 데이터베이스에 액세스하고 쿼리 할 수 ​​있습니다. – user1389384

+0

그렇다고해서 멤버쉽을 사용하지 못하게하는 것은 아닙니다. –