PDA

View Full Version : سوال: ایجاد کاربران جدید و ایجاد محدودیت دسترسی به وسیله بانک اکسس



momimomi
سه شنبه 25 مهر 1391, 16:28 عصر
با سلام
بنده برای تعریف کاربران جدید یه جدول تو اکسس ایجاد کردم و به فرم login برنامه متصل شده، میخوام چند تا چک باکس در برنامه قرار بدم مثلا با نام تنظیمات و ... که زمان تعریف کاربر جدید اگر checked بود ستونی به همین نام در جدول اکسس عدد 1 بگیرد و در غیر این صورت عدد 0 و سپس ذخیره شود. سپس هنگام ورود به برنامه برای کاربری که ستون تنظیمات او در جدول اکسس 0 باشد دکمه ای با نام ( مثلا: ویرایش) غیر فعال شود.
لطفا مرا راهنمایی کنید.
با تشکر.

danialafshari
سه شنبه 25 مهر 1391, 18:59 عصر
نمایش نوع کاربر وارد شده (http://barnamenevis.org/showthread.php?364394-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D9%86%D9%88%D8%B9-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1-%D9%88%D8%A7%D8%B1%D8%AF-%D8%B4%D8%AF%D9%87)

momimomi
چهارشنبه 26 مهر 1391, 05:38 صبح
با سلام
بنده برای تعریف کاربران جدید یه جدول تو اکسس ایجاد کردم و به فرم login برنامه متصل شده، میخوام چند تا چک باکس در برنامه قرار بدم مثلا با نام تنظیمات و ... که زمان تعریف کاربر جدید اگر checked بود ستونی به همین نام در جدول اکسس عدد 1 بگیرد و در غیر این صورت عدد 0 و سپس ذخیره شود. سپس هنگام ورود به برنامه برای کاربری که ستون تنظیمات او در جدول اکسس 0 باشد دکمه ای با نام ( مثلا: ویرایش) غیر فعال شود.
لطفا مرا راهنمایی کنید.
با تشکر.
با تشکر از لطف و بذل توجه شما
مطالب مفیدی بودند اما مشکلی که در بالا مطرح کردم شکل دیگری دارد.

حسین شهریاری
چهارشنبه 26 مهر 1391, 07:25 صبح
یه جدول ایجاد میکینی با فیلدهای زیر:
1-نام کاربر(UserName)
2-کلید رمز(Password)
3-...
4-...
از مرحله 3 به بعد، به ازای کارهایی که میخای بکنی یا گزینه هایی که تو برنامت میخای فعال یا غیره فعال باشه، فیلد تعریف میکنی.
ترکیبی از نام کاربری و کلید رمز، کلید ترکیبی جدول شما خواهد بود.

r_s1389@yahoo.com
چهارشنبه 26 مهر 1391, 11:02 صبح
سلام
شما از همون اول برای همه کاربره مقدار صفر ذخیره کن به جز ادمین
و ادمین که دکمه ویرایش رو زد بتونه همه اون کاربرانی رو که دوست داره رو بهشون مجوز بده

r_s1389@yahoo.com
چهارشنبه 26 مهر 1391, 11:17 صبح
در ضمن شما اول باید مجوز های ادمین رو دستی در پایگاه داده ذخیره کنین

momimomi
چهارشنبه 26 مهر 1391, 13:57 عصر
سلام
شما از همون اول برای همه کاربره مقدار صفر ذخیره کن به جز ادمین
و ادمین که دکمه ویرایش رو زد بتونه همه اون کاربرانی رو که دوست داره رو بهشون مجوز بده

باسلام
ممنون از توجه و وقتی که گذاشتین
کارهایی رو که شما گفتین قبلا انجام دادم ، مشکل بنده:
1- ارسال اعداد 0 و 1 از چک باکس به فیلدهای پایگاه داده
2- نحوه کد نویسی غیر فعال کردن دکمه های برنامه که معادل آن در فیلدهای پایگاه عدد 0 منظور شده است
می باشد.
باتشکر و ممنون

malihehshajari
چهارشنبه 26 مهر 1391, 14:13 عصر
سلام
برای ذخیره 0 یا 1 توی بانک اطلاعاتی میتونید بنویسید :


int i;
if (CheckBox1.Checked == true)
{
i = 1;
}
else { i = 0; }

و بعد مقدار i رو ذخیره کنید.
برای غیر فعال کردن هم اول بررسی کنید مقدار ذخیره شده در دیتابیس 0 است یا 1 و بعد بر حسب نیاز از یکی از دو حالت زیر استفاده کنید

button1.Enabled = false;
button1.Enabled = true;

r_s1389@yahoo.com
پنج شنبه 27 مهر 1391, 10:52 صبح
سلام دوست عزیز ببین این به دردت میخوره

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace library.BLL
{
class systemuser
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=library;Integrated Security=True");
public static string newuser = "false";
public static string deluser = "false";
public static string updateuser = "false";
public void permission(string name)
{
con.Open();
string sql = "select * from tbl_masol1 where name='{0}'";
sql = string.Format(sql, name);
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable(name);
da.Fill(dt);
con.Close();
newuser = dt.Rows[0]["newuser"].ToString();
deluser = dt.Rows[0]["deluser"].ToString();
updateuser =dt.Rows[0]["updateuser"].ToString();


}


public bool canlogin(string name, string lastname)
{
con.Open();
string sql = "select count(*) from tbl_masol1 where name='{0}' and lastname='{1}'";
sql = string.Format(sql, name,lastname);
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable(name,lastname);
da.Fill(dt);
con.Close();
bool can = false;
if (dt.Rows[0][0].ToString() == "1")
{
can = true;
}
return can;


}
}
}

توضیحش رو بعدا میام میگم یکم این رو تحلیل کن

r_s1389@yahoo.com
پنج شنبه 27 مهر 1391, 21:47 عصر
سلام دوست عزیز کد ها رو خوندی یا نه

r_s1389@yahoo.com
پنج شنبه 27 مهر 1391, 21:48 عصر
ببین اگه متوجه نمیشی بگو تا یه فیلم یا یک کتاب برات برای دانلود بذارم

momimomi
جمعه 28 مهر 1391, 13:00 عصر
سلام
ممنون ولی:
1- من از 2005 استفاده می کنم linq نداره
2- بانک اطلاعاتی من اکسس هست
3- در فرم کاربران یه دیتاگریدویو دارم برای نمایش اختیارات کاربران
4- عکس فرم لاگین فرم اصلی برنامه و فرم مدیریت کاربران رو براتون میذارم.
با تشکر

r_s1389@yahoo.com
جمعه 28 مهر 1391, 16:51 عصر
public static string newuser = "false";
public static string deluser = "false";
public static string updateuser = "false";
public void permission(string name)
{
con.Open();
string sql = "select * from tbl_masol1 where name='{0}'";
sql = string.Format(sql, name);
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable(name);
da.Fill(dt);
con.Close();
newuser = dt.Rows[0]["newuser"].ToString();
deluser = dt.Rows[0]["deluser"].ToString();
updateuser =dt.Rows[0]["updateuser"].ToString();


}

ببین دوست عزیز همه کاربران در همون عضویت اول مقدار صفر میگیرند خوب
در ضمن وقتی که کاربر وارد شددر کد من کاربر نمیتونه عمل های newuser, deluser, updateuser را انجام بده
ادمین میاد به اون ها مقدار صفر یا یک میدهد که خود ادمین به صورت دستی تمام این عمل ها رو بهش دادیم
وقتی که مثلا فرد مسول دبیر خانه لاگین شد ادمین فقط مجوز دبیر خانه را برای او فعال کرده و ما میایم مقدار یک رو به همراه همه مقدارها که یا یک است یا صفر را برمیداریم و به دکمه ها اعمال میکنیم که اگر یک بود آن دکمه visible=false میشود

momimomi
جمعه 28 مهر 1391, 17:55 عصر
این رو برای صحت username , pass نوشته بودم
لطفا روی این کد نظر بدین آیا نیاز هست تغییرش بدم؟