我用 MVC4 创建了我的第一个 uber 小型 webapp。到目前为止,我使用布局的东西来布局 webapp,并添加了一些视图控制器和模型来注册并允许用户登录。
一旦用户登录/注册,我将其用户名存储在会话中。我从会话中读取此属性以确定用户是否已登录。
这是一个坏习惯吗?我读了很多关于 RESTful 和无状态 webapps 的文章。我有点感觉我不应该在我的会话中保存任何东西。
例如
@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"] 中存储一个值以绕过登录是否容易?