PDA

View Full Version : سوال: ایجاد فرم سطح دسترسی و لاگین



hadi vafaii
سه شنبه 02 دی 1393, 21:31 عصر
عرض سلام دارم خدمت دوستان کسی میتونه یه نمونه جهت ساخت فرم لاگین و ایجاد سطح دسترسی تو سایت قرار بده هرچی گشتم چیز بدرد بخوری پیدا نکردم نمونه هایی هم که پیدا کردم فقط دو نوع سطح دسترسی مدیر و کاربر عادی ایجاد می کرد فرم لاگین رو بلدم چجوری ایجاد کنم فقط مشکلم اینه که نمیدونم چجوری سطح دسترسی بیشتر از 2 نوع رو ایجاد کنم اینم میدونم که باید به صورت درختی باید پیش برم و برا هر باتن و کومبو باکس و .... مثلا اگه تیک خورد مقدار یک یعنی اجازه دسترسی داده بشه و عدم تیک مقدار صفر یعنی عدم دسترسی اما چجوری کدش رو بنویسم نمیدونم؛ یکی از مدیران حدودا 3 یا4 ماه قبل گفته بودن قراره یه آموزشی رو خودشون درست و تو سایت قرار بدن اما انگار مشغله زیادی دارن و نتونستن. خواهشا اساتید یه کمکی بکنن

erfan_urchin
سه شنبه 02 دی 1393, 21:54 عصر
من بهترین روشی که به ذهنم رسید و از این روش تو برنامه انبارداری خودم استفاده کردم این بود که شما یک قسمت بزاری (مثل این عکس) (http://barnamenevis.org/attachment.php?attachmentid=114548&stc=1&d=1388245894) بعد یه جدول تو دیتابیس درست کنی که هر کاربر فیلد های زیر رو داشته باشه
مثلا تو برنامه ای که من درست کرده بودم این فیلد ها مورد نیاز بود: id,username , password , darj , hazf , virayesh, mojudi anbar و غیره یعنی به ازای هر قسمت یه فیلد بزاری و وقتی مدیر خواست کاربر جدید بسازه هر کدومو تیک زد برای اون فیلد بنویسه TRUE و اگه تیک نزد واسه اون فیلد بنویسه FALSE
بعد به محض این که کاربر خواست وارد اون بخش بشه چک کنه که اون بخش برای کاربر TRUE هستش یا FALSE
شما میتونی یه آرایه از نوع string درست کنی و به محض این که کاربر مورد نظر login شد کل سطح دسترسی رو بریزی تو اون آرایه
یه چی مثل کد زیر


string[] s =new string[8];
SQLDataAdapter sd=new SQLDataAdapter("select * from UserTable where username ='ali' and password='123456'")
DataTable dt=new DataTable();
sd.Fill(dt);
for(int i=3;i<11;i++)
s[i - 3] = dt.Rows[0][i].ToString();


توضیح در مورد 2خط آخر: بعد این که datatable پر شد شما باید اطلاعاتی که مربوط به سطح دسترسی هست رو داخل آرایه بریزی ، با فرض این که فیلد صفرم id فیلد اول username فیلد دوم password هستش من اومدم از فیلد سوم گفتم اطلاعات رو بریزه داخل آرایه
حالا وقتی کاربر اومد کلیک کنه روی هر گزینه باید یه کاری مثل کار زیر انجام بشه


private void btndarj_Click(object sender, EventArgs e)
{
if (s[0] == "false")
{
MessageBox.Show("شما مجوز دسترسی به این بخش را ندارید", "");
}
else
{
formdarj fd = new formdarj();
fd.ShowDialog();
}
}

private void btnhazf_Click(object sender, EventArgs e)
{
if (s[1] == "false")
{
MessageBox.Show("شما مجوز دسترسی به این بخش را ندارید", "");
}
else
{
formhazf fh = new formhazf();
fh.ShowDialog();
}
}

hadi vafaii
سه شنبه 02 دی 1393, 22:15 عصر
ممنون از کمکتون اگه میشه یه نمونه قرار بدین همون نمونه ای خودتون تویه پروژهتون از استفاده کردین بعدش برای دیتابیس اکسس هم همینجوریه یا نفاوت دارن با هم

erfan_urchin
سه شنبه 02 دی 1393, 22:24 عصر
ممنون از کمکتون اگه میشه یه نمونه قرار بدین همون نمونه ای خودتون تویه پروژهتون از استفاده کردین بعدش برای دیتابیس اکسس هم همینجوریه یا نفاوت دارن با هم
بله برای اکسس هم همینجوریه

من یه نمونه برنامه کوچیک برای شما نوشتم
فقط یه کاری باید قبلش کنید. من از دیتابیس backup گرفتم شما باید اینو restore کنید توی sql خودتون تا بتونید از برنامه استفاده کنید
فایل db1 دیتابیس هستش. این فایلو حتما باید داخل درایوی به غیراز C که همون درایو ویندوز هست Extract کنید تا توی restore کردن فایل به مشکل بر نخورید مثلا توی درایو E این فایلو extract کنید
کاری نداره restore کردن فقط باید بعد از این که فایل db1 رو دانلود کردین و اونو extract کردین sql رو باز کنید و یه کوئری جدید ایجاد کنید و کد زیر رو توش بنویسید

use master
go
restore database db1 from disk E:\db1.Bak

hadi vafaii
سه شنبه 02 دی 1393, 22:42 عصر
دوست عزیزم لینک دانلودتون مشکل داره و میگه فایل یافت نشد:گیج:

erfan_urchin
سه شنبه 02 دی 1393, 22:58 عصر
آره عذر میخوام :لبخند: الان درست شد میتونید از همین پست دانلود کنید

ghasem110deh
چهارشنبه 03 دی 1393, 06:51 صبح
آره عذر میخوام :لبخند: الان درست شد میتونید از همین پست دانلود کنید
سلام
این روش واسه ویندوز فرم (معمولی) هم جواب میده ؟
آخه دوستمون بالا ، واسه سایت خواستن گفتم شاید فرق داشته باشن !

silver189
چهارشنبه 03 دی 1393, 08:24 صبح
دوست عزیز از این روش استفاده کن هم حرفه هست و هم کار راه انداز

http://barnamenevis.org/showthread.php?469646-%D9%81%D8%B1%D9%85-%D9%84%D8%A7%DA%AF%DB%8C%D9%86-%D8%A8%D8%A7-%D8%B3%D8%B7%D8%AD-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C&highlight=%D8%B3%D8%B7%D8%AD+%D8%AF%D8%B3%D8%AA%D8 %B1%D8%B3%DB%8C

ghasem110deh
چهارشنبه 03 دی 1393, 12:20 عصر
این پست رو که خودم نوشتم (از روی یه فیلم آموزشی بود)
دقیقا چیز خوبیه ولی نتونستم ویرایش و حذف توسط مدیر - و ویرایش (فقط یوزر و پس) توسط کاربر رو اعمال کنم ؟
اگه شما تونستین توی ادامه آموزش بزارین :)

hadi vafaii
پنج شنبه 04 دی 1393, 01:05 صبح
این پست رو که خودم نوشتم (از روی یه فیلم آموزشی بود)
دقیقا چیز خوبیه ولی نتونستم ویرایش و حذف توسط مدیر - و ویرایش (فقط یوزر و پس) توسط کاربر رو اعمال کنم ؟
اگه شما تونستین توی ادامه آموزش بزارین :)

سلام خدمت دوستان من هم بر اساس همون فیلم آموزشی فرمم رو ساختم اما وقتی اجرا میگیرم این خطا رو میده میشه بگین خطا مربوط به چی هستش؟هم عکس خطا رو قرار میدم هم سورس رو لطفا راهنمایی کنین
این از عکس خطا (http://uplod.ir/3v48nuypknzc/Untitled1.png.htm)
اینم سورس برنامه (http://uplod.ir/04yzo02zxj1p/WindowsFormsApplication5.rar.htm)

ghasem110deh
پنج شنبه 04 دی 1393, 15:38 عصر
سلام خدمت دوستان من هم بر اساس همون فیلم آموزشی فرمم رو ساختم اما وقتی اجرا میگیرم این خطا رو میده میشه بگین خطا مربوط به چی هستش؟
سلام
دروغ چرا ... نمیدونم خطای چیه !
ولی اون سورسی که گذاشتم سالمه ، اجرا میشه ؟

davidrobert
جمعه 05 دی 1393, 09:57 صبح
بفرمائید من سطح دسترسی رو نوشتم در این سورسم http://barnamenevis.org/showthread.php?435582-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AD%D8%B3%D8%A7%D8%A8%D8%AF%D8%A7%D8%B1%DB%8C-%D8%A8%D8%A7-%D8%A7%D9%85%DA%A9%D8%A7%D9%86%D8%A7%D8%AA-%DA%A9%D8%A7%D9%85%D9%84-%D9%88-%D9%87%D9%85%DA%86%D9%86%DB%8C%D9%86-%DA%86%D8%A7%D9%BE-%D9%81%D8%A7%DA%A9%D8%AA%D9%88%D8%B1-%D8%A8%D8%A7-%D8%AA%DA%A9%D9%86%D9%88%D9%84%D9%88%DA%98%DB%8C-EF&p=1948713&viewfull=1#post1948713 که به کار شما میاد شدیداً و هر کد دیگه هم نیاز دارید داخل این برنامه هستش

ghasem110deh
شنبه 06 دی 1393, 11:13 صبح
بفرمائید من سطح دسترسی رو نوشتم که به کار شما میاد شدیداً
همین رو میتونین ادامه بدین و (البته با آموزش)
چون چیزی ازش متوجه نشدم (همین کد رو میگم) و میخوام یاد بگیرم و نه فقط کپی کنم !