我在ASP.NET网站上实现了我自己的用户登录证书系统。我正在寻求建议,可以这样做吗?可以这样做来管理用户登录凭证吗?
我有类调用用户:
public class User
{
public string Username = "";
public string FullName = "";
}
当用户登录时,我只是比较的用户名和密码(散列)与数据库中,如果比赛,我创建了一个对象类用户的和将其存储在SessionState。
void ButtonLoginClick(object sender, EventArgs e)
{
string username = textBox_username.Text;
string pwd = textBox_pwd.Text;
if (!UserExists(username))
return;
if (!PasswordIsCorrect(username, pwd))
return;
User user = new User();
user.Username = username;
user.FullName = GetFullName(username);
Session["user"] = user;
Responds.Redirect("~/Default.aspx");
}
每当ASP.NET页面加载,我会检查SessionState的为用户类对象,如果不存在,系统将重定向页面登录页面。
protected void Page_Load(object sender, EventArgs e)
{
if (Session["user"] == null)
{
Responds.Redirect("~/Login.aspx");
}
else
{
label1.Text = "Welcome, " + ((User)Session["user"]).FullName;
}
}
对于像这样管理登录有什么意见?这个可以吗?
感谢您的建议。
我敢肯定,这是容易受到会话劫持。虽然对这个主题不够了解。我期待别人说什么。 – cgatian
另外你也想确保你使用的是https,以便通过电话不可见密码 – cgatian
@cgatian看起来像https是一个安全目的必须的。 – mjb