PDA

View Full Version : مبتدی: سطح دسترسی در دلفی



ERIKA
سه شنبه 15 تیر 1389, 06:59 صبح
در مورد دسترسي ها و سطوح دسترسي روی برنامه ام می خواهم كار كنم.
با اين فرض كه يك كابر ارشد داريم كه مي تونه به براي همه يوزر و پسورد تعريف كنه وبه اونها اختيارات دكمه ها يا منوها ويا امكان ويرايش و حذف و ديگر موارد رو تفويض كنه .با زبان دلفی 7و اسکیوال2000
اگه نمونه پروژه ای دارید که کمکم کنه ممنون میشم

pezhvakco
سه شنبه 15 تیر 1389, 11:17 صبح
درود :

اگه نمونه پروژه ای دارید که کمکم کنه ممنون میشم
نمونه پروژه تو روال کار سایت نیست ولی راهنمایی داره .

شما یه بانک طراحی کن تمام امکانات برنامه تو یکی یکی به عنوان ستون براش تعریف کن و برای هر کاربر یه ردیف جدول که فعال یا غیر فعال بودن اون بخش یا امکانات برنامه رو مشخص کنه .

فکر خوش .

hamed2008
سه شنبه 15 تیر 1389, 12:16 عصر
خب موقع ورود فرد به برنامه چجوری همه محدودیت ها رو اعمال می کنه ؟
یکی یکی یا با حلقه ؟
یکم بیشتر مراحل کار رو نوضیح بدید .
ممنون .

hamid-nic
سه شنبه 15 تیر 1389, 13:04 عصر
خب موقع ورود فرد به برنامه چجوری همه محدودیت ها رو اعمال می کنه ؟
یکی یکی یا با حلقه ؟
سلام
شما با یک کوئری می آیید محدودیت ها (همون ستون هایی که برای امکانات برنامت ایجاد کردی )اون کاربری که وارد شده را انتخاب می کنید. از این به بعد برای اجرای هر فرمان ابتدا در کوئری ایجاد شده دنبال اون امکانی که کاربر می خواهد اجرا کنه می گردی و می بینی که اگر فعال بود اجازه دسترسی داره اگر فعال نبود اون کاربر اجازه دسترسی به این امکان برنامه را ندارد .
البته روش های دیگه ای هم برای این کار وجود داره . . .
موفق باشید .

ERIKA
پنج شنبه 17 تیر 1389, 22:53 عصر
با سلام و تشکر از توجه شما


میشه روش های دیگه ای هم برای این کار وجود داره . . . بفرمایید چی؟

hossein_h62
پنج شنبه 17 تیر 1389, 23:14 عصر
سلام
یک روش اینه که اول از همه در جدول کاربران یک فیلد Login بزارید بعنوان فلگ که هر بار که یک کاربر لاگین میکنه اون فلگ ست بشه.
دوم اینکه بازای هر فرم برنامتون یک فیلد Access برای هر یوزر قرار بدین.این فیلدها توسط کاربر ارشد میتونه براحتی تنظیم بشه و محدودیت ها اعمال بشن.
بعد از اون شما قبل ورود به هر فرم برنامه با یک کوئری ساده میتونید دسترسی یوزر مورد نظر رو چک کنید،
مثل این :



ADOQuery1.SQL.Text:='Select * from users Where Login=1';
ADOQuery1.Open;
AccessFlag:=ADOQuery1.FieldByName('access').AsInte ger;
if AccessFlag=1 then
Form1.show
else
showmessage('Access Deny!!');


موفق باشید...

Pascal
سه شنبه 22 تیر 1389, 23:32 عصر
سلام
یک روش اینه که اول از همه در جدول کاربران یک فیلد Login بزارید بعنوان فلگ که هر بار که یک کاربر لاگین میکنه اون فلگ ست بشه.
دوم اینکه بازای هر فرم برنامتون یک فیلد Access برای هر یوزر قرار بدین.این فیلدها توسط کاربر ارشد میتونه براحتی تنظیم بشه و محدودیت ها اعمال بشن.
بعد از اون شما قبل ورود به هر فرم برنامه با یک کوئری ساده میتونید دسترسی یوزر مورد نظر رو چک کنید،
مثل این :



ADOQuery1.SQL.Text:='Select * from users Where Login=1';
ADOQuery1.Open;
AccessFlag:=ADOQuery1.FieldByName('access').AsInte ger;
if AccessFlag=1 then
Form1.show
else
showmessage('Access Deny!!');



موفق باشید...


اين روشي كه شما فرموديد دسترسي به يك فرم بخصوص را كنترل ميكند چطور مي شود روي تك تك عناصر و منو هاي يك برنامه كنترل داشت؟