تبدیل کد امنیت و رول نویسی accessبه sql
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class MasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
// if (Session["userLogin"] != null)
// {
// lblStatus.Text = Session["userLogin"].ToString() + "خوش آمدید";
// lblStatus.Text += "<a href=\"logout.aspx\">خروج</a>";
// }
// else
// {
// Response.Redirect("Login2.aspx");
// }
string MyPage = System.IO.Path.GetFileName(Request.Path).ToLower() ;
using (SqlConnection Con = new SqlConnection (ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
SqlCommand cmd = new SqlCommand("select * from tbl_pages where PageName=?", Con);
cmd.Parameters.AddWithValue("PageNam", MyPage);
Con.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
if (Page.User.Identity.IsAuthenticated)
{
if (!Page.User.IsInRole(dr["PageRole"].ToString()))
{
Response.Redirect("MsgPage.aspx");
}
}
else
{
FormsAuthentication.RedirectToLoginPage();
}
}
Con.Close();
}
if (Page.User.Identity.IsAuthenticated)
{
Button1.Visible = true;
}
else
{
Button1.Visible = false;
}
}
protected void HiddenField1_ValueChanged(object sender, EventArgs e)
{
}
private string GetMemberRoleByID(string UID)
{
using (SqlConnection Con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
SqlCommand cmd = new SqlCommand("select roles from tb_admin where uid=?", Con);
cmd.Parameters.AddWithValue("uid", UID);
Con.Open();
SqlDataReader dr = cmd.ExecuteReader();
string RetVal = "NA";
if (dr.Read())
{
RetVal = dr["Roles"].ToString();
}
Con.Close();
return RetVal;
}
}
private bool GetMemberAuthenticate(string UID, string PWD)
{
using (SqlConnection Con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
bool RetVal=false;
SqlCommand cmd = new SqlCommand("select count(*) from tb_admin where (uid=? And Pwd=?)", Con);
cmd.Parameters.AddWithValue("uid", UID);
cmd.Parameters.AddWithValue("Pwd", PWD);
Con.Open();
RetVal= Convert.ToBoolean(cmd.ExecuteScalar());
Con.Close();
return RetVal;
}
}
}
شرمنده دوستان ویرایش گر سایت نمیشه بهترین از این کد نشون داد.کپیش کنین ببرین تو ویژوال استدیو بهتر ببینین
اتصال به بانکم تو وب کانفیک تعریف شده و نامش کانکشن استرینگه.
ارور این قسمته تو مستر پیجم
SqlDataReader dr = cmd.ExecuteReader();
احتمالا منظورتون به جای علامت سوال (؟) ، عبارت @uid (اول ات سایت) نبوده!؟
خواستم با سنسیشن بنویسم اما تو سایت برنامه نویس خوندم این کار بار اضافه رو سرور ایجاد میکنه و اگه کاربرات خیلی زیاد بشن سایت دیگه کارش تمومه.این کد فکر کنم از کوکی استفاده میکنه و کلا کوکی رو هم رمز میکنه.
من کلا میخوام میخوام یوزرهای مختلفی داشته باشم وسطح دسترسی بهشون بدم خیلی گشتم تو سایتها
asp configortion این کارو انجام میده خودکار اما خب این کد تو اکسس خیلی عالی بود و قابل انعطاف اما برای sqlنشد ستش کنم.تو سایت برنامه نویسم هنوز کسی جوابی نداده.
الان این سایت آزمایشی هم که برای ازمایش درست کردم رو با این کد البته از نوع oldb امنیتش رو انجام دادم الان میخوام یه سایت پیشرفته درست کنم اول میخوام امنیتش رو تضمین کنم