protected void btnLogin_Click(object sender, EventArgs e)
{
string cs="Data Source=Dev-PC;Initial Catalog=CodeSolution;User ID=sa; password=12345678"
SqlConnection con = new SqlConnection(cs);
con.Open();
String sqlCommand = "SELECT * FROM tblLogin WHERE "+
"username = @user AND password = @pwd"
SqlCommand cmd = new SqlCommand(sqlCommand, con);
cmd.Parameters.AddWithValue("@user", TextBox1.Text);
cmd.Parameters.AddWithValue("@pwd", TextBox2.Text);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Response.Redirect("Details.aspx");
}
else
{
Response.Write("<script>alert('Please enter valid Username and Password')</script>");
}
}
以下のように私は、基本的なログインフォームを作成した。しかし、これは、ログイン人々がDetails.aspxのURLを推測するかもしれないのでずに考えて私を得た
これで、ログインが成功した場合、tblLoginに列を追加して、そのユーザーのsessionIDを保存することができますか? 次に、セッションIDがそのユーザーのtblLoginのものと等しいかどうかを確認するだけです。と(poormansolutionは、IISサーバー
- がどのようにtblLoginにセッションIDを保存するためにこれは、またはそれが許容できるようになります:
私はこれについて、ここで2つのことを思ったんだけどそれぞれのASPページが有効なセッションIDと照合する機能で始まるという欠点)。削除
つのエラー、その今=
新しいプロジェクトを作成していると仮定すると、フォームプロジェクトではなくMVCプロジェクトを作成する時間を費やす必要があります。そして、これをルーティングで解決することができます。セッションIDはどこにでも保存する必要はありませんが、それはすでに私が信じているリクエストデータの一部です。 – Bauss
[ASP.NET ID](https://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity)を使用しましたか?そこに実装されている認証と認可のための標準的なコンセプトはたくさんあります。あなたが自分のアイデンティティシステムをロールすることを選択したとしても、今やっていることや間違っていることをヒントする必要があります。 – Martheen
解決策は、マスターページロードでセッションをチェックすることです。 **しかし、これは時代遅れのログイン**形式です。あなたはASP.NETアイデンティティを使用する必要があります – GauravKP