2011-01-20 1 views
0

ログイン、サインアップ、およびユーザーログイン後、ログインコントロールを使用してLabelを使用してすべてのページにログインしたユーザー名が表示され、userwizardを作成しますuserfind場合、ユーザーeneterはその後、TextBox2をでのTextBox1とパスワードでEMAILIDとき、私は私の表1にフィールドを次のようしているASP.NETのデフォルトのlogincontrolを使用せずにasp.netで独自のログイン機能を作成

ID  Username  Email id   Password 
1   dobriyal  [email protected]   ssssss 
2   manish   [email protected]   ttreter 

は私が...をTextBox1とTextBox2を、ボタンを使用してsumit.aspxページでログインを作成したいですテキストボックス1とテキストボックス2に入力されたemailidとパスワードに従ってデータベースに保存されます....ログインしたユーザ名は各ページのlabel1に表示されます...私はページ上にラベル1を持っています///

意味...もし私がDefault.aspx上にlabel1を持っていれば、myname.aspx、defaul2.aspx、各ページでlabel1彼らはそのセッションをloggeditまでテキストは

Vb.NET

を使用してそれを行うにはどのように

は私がしたいの使用デフォルトのログイン& createuserwizard、ログイン状況をいけないとログイン名を忘れないでください... .....ユーザ名をLOGGEDINされるだろうASp.NETのコントロール...

+0

カスタムメンバーシップが必要ですか?セキュリティ上の理由から、車輪を改造しないでください。 –

+0

どうやって?それはあなたの問題ですか? – adatapost

+0

はこの宿題ですか?そうであれば、適切なタグでマークしてください –

答えて

1

質問の回答は非常に広いです。コードの代わりに私はあなたにアルゴリズムを与えています。

1.データレイヤーファイルで提供されたユーザー名とパスワードを確認する方法を作成します。 など。 bool IsAuthenticatedUser()。このメソッドの内部でCommand.ExecuteScalarを実行します。ここでは、クエリ

Declare @Count =(Select Count(*) From Login 
       Where UserName = @UserNAme and Password = @Password) 
       Select @Count; 

である - 。返される値は1が、その後偽それ以外はtrueを返すであれば、あなたにisAuthenticatedメソッドのチェックに今ウル使用して、SQL Server 2008の

2と仮定するとこの

ような何かUI上で
int count = (int)command.ExecuteScalar(); 
If (count ==1) 
{ 
    return true; 
} 
return false; 

3.メソッドの戻り値をチェックする。その真のは、そのページにユーザーをリダイレクトします。そして、設定されたセッション。ページ上の名前の電子メールIDを表示するために、 IsAuthenticatedメソッドが成功したら、データベースから目的のエンティティを選択し、データテーブルに入力する別のメソッドを作成します。今、必要なページのチェックの両方のセッションがnullでない場合は、希望のラベルに値を設定し、この

If(IsAuthenticatedUser(username, password)) 
    { 
    Datatable dt = GetUserDetails(username,password); 
    If(dt!=null) 
    { 
     if(dt.rows.count >0) 
      { 
       // here there is only one row so you can use index [0] also 
       foreach(DataRow dr in dt.rows) 
       { 
        Session["UserName"] = dr["UserName"].tostring(); 
        Session["Email"] = dr["Email"].tostring(); 
       } 
      } 
    } 

よう 何か。ここで

If (Session["UserName"]!=null && Session["Email"]!=null) 
{ 
    lblUserName.Text = "Welcome " + Session["UserName"].ToString(); 
    lblEmail.Text = Session["Email"].tostring(); 
} 

**ユーザ名とパスワードのパラメータがテキストボックスから渡された値になります。

string username = txtUserName.text.trim(); 
string password = txtPassword.text.trim(); 

また、あなたが、これは、SQLインジェクションをもたらすことができるよう、ユーザーからの入力を受け付けると、データベース全体を暴露する前に検証を配置します。しかし、家庭ではこれを行うことができます。**

を参照してください更新:

  1. すべてのページに名前を表示するためのマスターページを作成し、その上の2つのラベルを追加します。コンテキストメニューの新規項目の追加 - >マスターページからマスターページを追加します。ソースビューでは、必要に応じてテーブルを追加します。また、ContentPlaceholderがあり、そのタグの内部には追加しないでください。それは他の子ページを表示するためのスペースです。マスターページのロードイベントで、label = sessionコードを使用して名前を設定します。また、そのクリックイベントでリンクボタンを追加します。

    Session.Abandon();

    Response.Redirect( "〜/ Login.aspx?Logout = 1");

    - >私は新しいことを追加しましたか?クエリ文字列と呼ばれるログアウトは、あるページから別のページに値を渡すために使用されます。ここで私はログイン= 1を使用しています。つまり、ログアウトしたので自分自身をログインページで知ることができます。

+0

label1のユーザー名は、ユーザーがログインするまで各ページごとに使用できます...? – user583181

+0

セッションからユーザーをログアウトする方法は? – user583181

+0

私の更新された回答を参照してください –

関連する問題