MVC4で私の最初のuberの小さなwebappを作成しました。これまではレイアウトアプリケーションを使ってWebアプリケーションをレイアウトし、いくつかのビューコントローラとモデルを追加してユーザーを登録し、ユーザーにログインさせました。ASP.NET MVC4セッション状態ストアのユーザー名
ユーザーがログイン/登録すると、そのユーザー名がセッションに保存されます。セッションからこのプロパティを読み込んで、ユーザーがログインしているかどうかを判断します。
これは悪い習慣ですか?私は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:これは悪い習慣ですか?
質問2:これは「ハックセーフ」ですか?つまり、現在のセッションをハックし、ログインをバイパスするためにSession ["User"]に値を保存するのは簡単ですか?
ユーザーが既にログインしているかどうかを確認するために組み込みのASP.NETメンバーシップ機能を使用するだけではどうですか? –
私はちょっと新しいことを強調しているのを忘れていました。これまでに非常に多くのことを学んだが、まだその部分を見つけていない。私はそれをチェックしますが、質問に対する答えの後でまだ不思議です。私は後でセッションに物事を格納する必要があると思うでしょうし、上記のように問題なく使用できるかどうかを知りたいと思います。 – bas