ya30ien2
چهارشنبه 24 آبان 1391, 20:36 عصر
سلام دوستان من کدهای زیر رو برای ورود کاربر نوشتم
میخواستم بدونم آیا از روش صحیحی استفاده کردم ؟
اگه روش خوبی هستش برای خروج چیکار کنم ؟
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.Cookies["UserName"] != null && Request.Cookies["Password"] != null)
{
Tuser.Text = Request.Cookies["UserName"].Value;
Tpass.Text = Request.Cookies["Password"].Value;
Blogin_Click(null, null);
}
else
{
//Tuser.Text = null;
//Tpass.Text = null;
//Lemail.Visible = false;
//Lname.Visible = false;
//Bexit.Visible = false;
//luser.Visible = true;
//lpass.Visible = true;
//Tuser.Visible = true;
//Tpass.Visible = true;
//Blogin.Visible = true;
//Chsave.Visible = true;
}
}
else
{
Lname.Visible = false;
Lemail.Visible = false;
Bexit.Visible = false;
}
protected void Blogin_Click(object sender, EventArgs e)
{
if (Tuser.Text != null && Tpass.Text != null)
{
Login lo = new Login();
lo.UserName = Tuser.Text;
lo.Password = Tpass.Text;
//admin
if (lo.LoginUser() == 1 && lo.Level == true && lo.License == true) { Session["mys"] = true; Response.Redirect("~/Admin.aspx"); }
//username locked
else if (lo.LoginUser() == 1 && lo.License == false) { Response.Redirect("~/Login.aspx"); }
//user
else if (lo.LoginUser() == 1 & lo.Level == false)
{
if (Chsave.Checked)
{
Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(30);
Response.Cookies["Password"].Expires = DateTime.Now.AddDays(30);
}
else
{
Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(-1);
Response.Cookies["Password"].Expires = DateTime.Now.AddDays(-1);
}
Response.Cookies["UserName"].Value = Tuser.Text.Trim();
Response.Cookies["Password"].Value = Tpass.Text.Trim();
Lemail.Text = lo.Email;
Lname.Text = lo.Name + " " + lo.LName;
Lemail.Visible = true;
Lname.Visible = true;
Bexit.Visible = true;
luser.Visible = false;
lpass.Visible = false;
Tuser.Visible = false;
Tpass.Visible = false;
Blogin.Visible = false;
Chsave.Visible = false;
}
//no username
else if (lo.LoginUser() == 0) { Response.Redirect("~/Login.aspx"); }
}
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private string lname;
public string LName
{
get { return lname; }
set { lname = value; }
}
private string user;
public string UserName
{
get { return user; }
set { user = value; }
}
private string pass;
public string Password
{
get { return pass; }
set { pass = value; }
}
private string email;
public string Email
{
get { return email; }
set { email = value; }
}
private string date;
public string DATE
{
get { return date; }
set { date = value; }
}
private Boolean level;
public Boolean Level
{
get { return level; }
set { level = value; }
}
private Boolean license;
public Boolean License
{
get { return license; }
set { license = value; }
}
string conn = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
public int LoginUser(int record = 0)
{
SqlConnection con = new SqlConnection(conn);
string HashPassword = FormsAuthentication.HashPasswordForStoringInConfig File(Password, "MD5");
string strcmd = "Select * From NameUser Where UserName = @user and Password=@pass";
con.Open();
SqlCommand command = new SqlCommand(strcmd, con);
command.Parameters.Add("@user", SqlDbType.NVarChar).Value = UserName;
command.Parameters.Add("@pass", SqlDbType.NVarChar).Value = HashPassword;
SqlDataReader reader = command.ExecuteReader();
if (reader.Read())
{
Id = Convert.ToInt32(reader["Id"]);
Name = Convert.ToString(reader["Name"]);
LName = Convert.ToString(reader["LName"]);
Email = Convert.ToString(reader["Email"]);
Level = Convert.ToBoolean(reader["Level"]);
License = Convert.ToBoolean(reader["License"]);
DATE = Convert.ToString(reader["Date"]);
record = 1;
}
return record;
}
برای خروج کد زیر رو نوشتم :
وقتی اجرا میکنم خارج میشه اما با رفرش صفحه دوباره وارد میشه
لطفا بگید باید چیکار کنم
protected void Bexit_Click(object sender, EventArgs e)
{
Response.Cookies.Remove("UserName");
Response.Cookies.Remove("Password");
Lemail.Visible = false;
Lname.Visible = false;
Bexit.Visible = false;
luser.Visible = true;
lpass.Visible = true;
Tuser.Visible = true;
Tpass.Visible = true;
Blogin.Visible = true;
Chsave.Visible = true;
Tuser.Text = "";
Tpass.Text = "";
}
میخواستم بدونم آیا از روش صحیحی استفاده کردم ؟
اگه روش خوبی هستش برای خروج چیکار کنم ؟
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.Cookies["UserName"] != null && Request.Cookies["Password"] != null)
{
Tuser.Text = Request.Cookies["UserName"].Value;
Tpass.Text = Request.Cookies["Password"].Value;
Blogin_Click(null, null);
}
else
{
//Tuser.Text = null;
//Tpass.Text = null;
//Lemail.Visible = false;
//Lname.Visible = false;
//Bexit.Visible = false;
//luser.Visible = true;
//lpass.Visible = true;
//Tuser.Visible = true;
//Tpass.Visible = true;
//Blogin.Visible = true;
//Chsave.Visible = true;
}
}
else
{
Lname.Visible = false;
Lemail.Visible = false;
Bexit.Visible = false;
}
protected void Blogin_Click(object sender, EventArgs e)
{
if (Tuser.Text != null && Tpass.Text != null)
{
Login lo = new Login();
lo.UserName = Tuser.Text;
lo.Password = Tpass.Text;
//admin
if (lo.LoginUser() == 1 && lo.Level == true && lo.License == true) { Session["mys"] = true; Response.Redirect("~/Admin.aspx"); }
//username locked
else if (lo.LoginUser() == 1 && lo.License == false) { Response.Redirect("~/Login.aspx"); }
//user
else if (lo.LoginUser() == 1 & lo.Level == false)
{
if (Chsave.Checked)
{
Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(30);
Response.Cookies["Password"].Expires = DateTime.Now.AddDays(30);
}
else
{
Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(-1);
Response.Cookies["Password"].Expires = DateTime.Now.AddDays(-1);
}
Response.Cookies["UserName"].Value = Tuser.Text.Trim();
Response.Cookies["Password"].Value = Tpass.Text.Trim();
Lemail.Text = lo.Email;
Lname.Text = lo.Name + " " + lo.LName;
Lemail.Visible = true;
Lname.Visible = true;
Bexit.Visible = true;
luser.Visible = false;
lpass.Visible = false;
Tuser.Visible = false;
Tpass.Visible = false;
Blogin.Visible = false;
Chsave.Visible = false;
}
//no username
else if (lo.LoginUser() == 0) { Response.Redirect("~/Login.aspx"); }
}
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private string lname;
public string LName
{
get { return lname; }
set { lname = value; }
}
private string user;
public string UserName
{
get { return user; }
set { user = value; }
}
private string pass;
public string Password
{
get { return pass; }
set { pass = value; }
}
private string email;
public string Email
{
get { return email; }
set { email = value; }
}
private string date;
public string DATE
{
get { return date; }
set { date = value; }
}
private Boolean level;
public Boolean Level
{
get { return level; }
set { level = value; }
}
private Boolean license;
public Boolean License
{
get { return license; }
set { license = value; }
}
string conn = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
public int LoginUser(int record = 0)
{
SqlConnection con = new SqlConnection(conn);
string HashPassword = FormsAuthentication.HashPasswordForStoringInConfig File(Password, "MD5");
string strcmd = "Select * From NameUser Where UserName = @user and Password=@pass";
con.Open();
SqlCommand command = new SqlCommand(strcmd, con);
command.Parameters.Add("@user", SqlDbType.NVarChar).Value = UserName;
command.Parameters.Add("@pass", SqlDbType.NVarChar).Value = HashPassword;
SqlDataReader reader = command.ExecuteReader();
if (reader.Read())
{
Id = Convert.ToInt32(reader["Id"]);
Name = Convert.ToString(reader["Name"]);
LName = Convert.ToString(reader["LName"]);
Email = Convert.ToString(reader["Email"]);
Level = Convert.ToBoolean(reader["Level"]);
License = Convert.ToBoolean(reader["License"]);
DATE = Convert.ToString(reader["Date"]);
record = 1;
}
return record;
}
برای خروج کد زیر رو نوشتم :
وقتی اجرا میکنم خارج میشه اما با رفرش صفحه دوباره وارد میشه
لطفا بگید باید چیکار کنم
protected void Bexit_Click(object sender, EventArgs e)
{
Response.Cookies.Remove("UserName");
Response.Cookies.Remove("Password");
Lemail.Visible = false;
Lname.Visible = false;
Bexit.Visible = false;
luser.Visible = true;
lpass.Visible = true;
Tuser.Visible = true;
Tpass.Visible = true;
Blogin.Visible = true;
Chsave.Visible = true;
Tuser.Text = "";
Tpass.Text = "";
}