تبدیل کد امنیت و رول نویسی accessبه sql
اتاق‌های اصلی علمی ، آموزشی ، پژوهشی کامپیوتر تبدیل کد امنیت و رول نویسی accessبه sql
آرشیو تاپیک

تبدیل کد امنیت و رول نویسی accessبه sql

کامپیوتر • 1393/07/25 @rm68
تبدیل کد امنیت و رول نویسی accessبه sql
سلام دوستان این یه کد امنیت برای سایته میخوام بدونم کسی هست بدونه مشکل این کد کجاست این کد 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();
select roles from tb_admin where uid=? این چیه!
احتمالا منظورتون به جای علامت سوال (؟) ، عبارت @uid (اول ات سایت) نبوده!؟
این با oldbبا اکسس جواب میده اما به جاش اینم@uid گزاشتم و این طوری نوشتم اما کلا سیاست امنیتی رو انجام نداد.و انگار نه انگار کدی نوشتم.تو اکسس خیلی عالی جواب میده اما تو sqlجواب نمیده.
خواستم با سنسیشن بنویسم اما تو سایت برنامه نویس خوندم این کار بار اضافه رو سرور ایجاد میکنه و اگه کاربرات خیلی زیاد بشن سایت دیگه کارش تمومه.این کد فکر کنم از کوکی استفاده میکنه و کلا کوکی رو هم رمز میکنه.

من کلا میخوام میخوام یوزرهای مختلفی داشته باشم وسطح دسترسی بهشون بدم خیلی گشتم تو سایتها
asp configortion این کارو انجام میده خودکار اما خب این کد تو اکسس خیلی عالی بود و قابل انعطاف اما برای sqlنشد ستش کنم.تو سایت برنامه نویسم هنوز کسی جوابی نداده.
الان این سایت آزمایشی هم که برای ازمایش درست کردم رو با این کد البته از نوع oldb امنیتش رو انجام دادم الان میخوام یه سایت پیشرفته درست کنم اول میخوام امنیتش رو تضمین کنم
تو این قسمت کد اصلی و کدی که خودم تغییر دادم هست اونجا بهتر میشه کد ها رو دید