0

始める前に、私は ASP.NET と C#、およびプログラミング全般に非常に慣れていないことを述べたいと思います。ユーザーのデータとログインの詳細を含むカスタム データベースを参照するログイン ページを持つ Web アプリケーションを作成しました。私の大学のネットワークを介してこれを使用すると複雑になるため、ASP.NETメンバーシップを使用するのではなく、これを行いました。

テーブルにはユーザーデータの多くのレコードが含まれているため、ユーザーがアプリにログインし、(ログインの詳細に基づいて) 多くのレコードがあるため、作成したテーブルから詳細のみを表示できるようにしたいと考えています。ユーザーデータの。

ユーザー名とパスワードに基づいてセッションを作成し、これを使用して、テーブル全体ではなくデータのみを表示する SQL を使用して、テーブル内のレコードと何らかの形で一致させる必要があることは正しいですか?

この場合、これを実装する方法がわかりません。

これが非常に安全でないことは承知していますが、ユーザーはすべて架空のものであり、このアプリは Web に公開されません。私は自分の任務のために最も単純な形でそれが機能することを望んでおり、レポートでセキュリティの側面をカバーし、どのように改善できるかを述べます.

どんなアドバイスでも大歓迎です、乾杯。

4

3 に答える 3

1

ユーザーの資格情報がログインに十分有効であることがわかった場合は、その資格情報の一部またはすべてを現在のセッションに次のように追加します。

Session.Add("sessionvariablename",textBoxLogin.Text);

ログイン後に表示される別のページで、次のことを確認します。

if(Session["sessionvariablename"].ToString()=="xyz")
{
Do whatever you want
}

セキュリティ上の懸念から、機密情報をセッションに追加したくない場合があります。Guid.NewGuid()各ユーザーに固有の 32 文字の 16 進数コードを作成し、セッションに保存するために使用 します。

于 2013-03-09T15:58:41.283 に答える
0

私が正しく理解している場合、ユーザー名とパスワードをセッション パラメータとして使用することはできますが、最善の方法ではありません。通常、ユーザーを含むテーブルには、各レコードの一種の一意の識別子 (GUID または自動インクリメント ID) が含まれています。この識別子をセッション パラメータとして使用できます。

于 2013-03-09T15:59:25.467 に答える
0

テーブルには、一意の識別子を持つ行が必要です。ID や userNr などのように、それを整数にして主キーに設定し、それをダブルクリックして ID 仕様 (ID) を yes に設定します (Visual Studio を使用していると仮定します)。

ユーザーがログイン情報を送信してチェックアウトすると、一意の識別子がセッションに保存されます。

問題のユーザーに固有の情報を引き出す必要がある場合は、SQL WHERE ID (または userNr) がセッション ID と同じであることを使用します。

これがあなたが必要としていたものであることを願っています。ここでの私の最初の答えですので、お役に立ちたいと思います。

于 2013-03-09T16:21:54.220 に答える