MVC4 を使用して最初の超小型 Web アプリを作成しました。これまでのところ、レイアウトを使用して webapp をレイアウトし、いくつかのビュー コントローラーとモデルを追加して登録し、ユーザーがログインできるようにしました。
ユーザーがログイン/登録すると、そのユーザー名をセッションに保存します。セッションからこのプロパティを読み取って、ユーザーがログインしているかどうかを判断します。
それは悪い習慣ですか?RESTful およびステートレス Web アプリケーションについてよく読んでいます。セッションで何も保存してはいけないと感じています。
例えば
@if (string.IsNullOrEmpty(Session["User"] as string))
{
<dl>
<dt><a href="/Account/Register">Register</a></dt>
<dt><a href="/Account/Login">Login</a></dt>
</dl>
}
else
{
<dl>
<dt><a href="/Account/ShowAccount/@Session["User"]">@Session["User"]</a></dt>
<dt><a href="/Account/Logout">Log out</a></dt>
</dl>
}
Q1: これは悪い習慣ですか?
Q2: これは「ハックセーフ」ですか? 現状では、現在のセッションをハッキングして Session["User"] に値を保存してログインをバイパスするのは簡単ですか?