私は ASP.NET を使用しています。自分で作成したカスタム認証プロバイダーを使用しています。ハッシュとソルティングが適切に行われているため、比較的安全です。
このように機能するカスタム認証セッションメカニズムも実装しました。
- ユーザーが Web アプリにサインインすると、パスワードは mssql db のデータに対して検証されます。
- 「sessions」テーブルに新しい行が挿入されます。この行には、ログオンしているユーザーへの参照、認証トークン、および有効期限が含まれています。
- 認証トークンは cookie と共に返され、クライアントのコンピューターに保存されます。
- 認証トークンは、ユーザーを識別するために使用されます。
それは完全に機能しますが、たとえば誰かがデータベースにハッキングしてユーザー ID を変更したり、認証トークンを取得したりした場合など、潜在的なセキュリティ リスクを確認できるため、それが正しい方法であるかどうかはわかりません。私が間違っている?
PS 残念ながら、組み込みの認証/セッション処理を使用することはできません。これは、顧客が要求したためです。さらに、mysql、oracle/etc などの他のデータベース エンジンをサポートする必要があるため、それを提案しないでください :)