PDA

View Full Version : سئوال ورود به بخشهای مختلف با تعریف رمز



sabair
چهارشنبه 04 مهر 1386, 23:05 عصر
سلام
من برنامه نوشته ام در این برنامه در هر قسمت که می خواهیدبروید رمز از کاربر سئوال می کند
خوب
حالا مشکل من این است من نمی توانم برای هر قسمت، فرم رمزی تعریف کنم
می خواهم ازیک فرم برای تمام بخشها تعریف شود
به عنوان مثل:
فرم اصلی
1من روی بخش مالی کلیک می کنم اول رمزی از من سئوال می کندخوب اگر رمز من درست بود (وارد بخش مالی شود )
2 قسمت تغییر رمز کلیک می کنم اول رمزی از من سئوال می کند خوب اگر رمزمن درست بود (وارد بخش تغییر رمز شودبا همان یک فرمی که تعریف شده است)
در ضمن از inputbox نمی خواهم استفاده کنم
باتشکر:

hamed_arfaee
پنج شنبه 05 مهر 1386, 07:54 صبح
با سلام
می تونی یه چیزی شبیه اینپوت ویبی رو خودت طراحی کنی به این صورت :
اول یه فرم پسورد بساز و توش این تابع رو بنویس :


public function start()as string
me.show 1
start = Result
end fuction

حالا تو جنرال فرم یه متغییر تعریف کن :


dim Result as string

و رو فرم دو تا دکمه بذار : خروج و ورود
برا خروج :


Result=""
unload me

برا ورود :


Result=text1.text
unload me

حالا این فرم شده مثل اینپوت باکس
موقع استفاده اینطوری بنویس :


rs=form1.start
if rs ="Right" then msgbox "ok"

این کارتو راه می ندازه یا یه راه دیگه بگم ؟

Hossein Bazyan
پنج شنبه 05 مهر 1386, 09:57 صبح
سلام
من در برنامه هام به شکل زیر عمل میکنم
چندین یوزر معرفی میکنم که هر یوزر در بانک ذخیره میشن .

در جدولی که نام یوزر ذخیره میشه یک فیلد بنام Access میسازم
هنگامی که یوزر را میخوام بسازم تعریف میکنم که این یوزر به کدام قسمتها حق دسترسی دارد مثلا برنامه ما شامل 10 قسمت یا منو هست یوزر Admin که به همه دسترسی دارد را با 1111111111 پر میکنم
در اینجا 1 یعنی حق دارد و 0 یعنی حق ندارد مثلا یوزر 1000000001 فقط به منوی اول و آخر دسترسی دارد
حال با بار شدن برنامه در قسمت Form_load این فیلد را میخوانم و با استفاده از یک تابع حرف به حرف Access را میخوانم هر جا 1 بود خاصیت Enable منو را True در غیر اینصورت False میکنم
حسن این روش چند چیز است :
هر بار نمیخواد با وارد شدن به هر قسمت رمز درخواست شود . مثلا اگر Admin بخواد وارد با اینکه حق دسترسی به همه جا را دارد مجبور است رمز وارد کند.
میتوان ساعت و تاریخ ورود و خروج هر کاربر مشخص را در جایی ذخیره نمود و فهمید که یک کاربر کی و چه مدت به برنامه وصل بوده و گزارش هم تهیه نمود.
هر زمان ادمین میتواند حق سترسی ها را تغییر بدهد.
و .....من از این روش در همه سیستمهام استفاده کرده ام و خیلی هم مشتری پسند است . هم کار با آن راحت است برای کاربر مخصوصا ادمین و هم مطمئن هست

sabair
پنج شنبه 05 مهر 1386, 11:16 صبح
با سلام
می تونی یه چیزی شبیه اینپوت ویبی رو خودت طراحی کنی به این صورت :
اول یه فرم پسورد بساز و توش این تابع رو بنویس :


public function start()as string
me.show 1
start = Result
end fuction

حالا تو جنرال فرم یه متغییر تعریف کن :


dim Result as string

و رو فرم دو تا دکمه بذار : خروج و ورود
برا خروج :


Result=""
unload me

برا ورود :


Result=text1.text
unload me

حالا این فرم شده مثل اینپوت باکس
موقع استفاده اینطوری بنویس :


rs=form1.start
if rs ="Right" then msgbox "ok"

این کارتو راه می ندازه یا یه راه دیگه بگم ؟

لطفا مثل بهتری بزنید این به در من نمی خورد
درضمن این برنامه من دارای دیتابیس است .
ومی خواهم از یک پسورد استفاده کنم اصلا تعریف کاربری وجود ندارد
فقط یکی رمز از من سئوال کند سپس وارد یک قسمت شوید.

Hossein Bazyan
پنج شنبه 05 مهر 1386, 11:22 صبح
لطفا مثل بهتری بزنید این به در من نمی خورد
درضمن این برنامه من دارای دیتابیس است .
ومی خواهم از یک پسورد استفاده کنم اصلا تعریف کاربری وجود ندارد
فقط یکی رمز از من سئوال کند سپس وارد یک قسمت شوید.

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

Hossein Bazyan
پنج شنبه 05 مهر 1386, 12:08 عصر
سلام
در ضمن اگر از روش بالایی که من گفتم نمیخوای استفاده کنی و میخوای تک کاربره باشه برنامه زیر را دانلود و ازش کمک بگیر
در این برنامه رمز را 100 انتخاب کرده ام که باید رمز خودت را بزاری .
در ضمن اگر رمز درست باشه در لیبیل مربوطه مینویسد حق دسترسی داری و Object مربوطه در سمت رایت را فعال در غیر اینصورت Object غیر فعال و مینویسد حق دسترسی نداری.

که این قسمتها را باید به برنامه خودت تعمیم بدی.
باز هم میگم چند کاربرش کن هم راحت تره و هم مشتری پسند تر

sabair
پنج شنبه 05 مهر 1386, 12:23 عصر
خیلی متشکرم از برنامه خوب شما
خیلی به من کمک کرد

sabair
جمعه 06 مهر 1386, 22:56 عصر
سلام
در ضمن اگر از روش بالایی که من گفتم نمیخوای استفاده کنی و میخوای تک کاربره باشه برنامه زیر را دانلود و ازش کمک بگیر
در این برنامه رمز را 100 انتخاب کرده ام که باید رمز خودت را بزاری .
در ضمن اگر رمز درست باشه در لیبیل مربوطه مینویسد حق دسترسی داری و Object مربوطه در سمت رایت را فعال در غیر اینصورت Object غیر فعال و مینویسد حق دسترسی نداری.

که این قسمتها را باید به برنامه خودت تعمیم بدی.
باز هم میگم چند کاربرش کن هم راحت تره و هم مشتری پسند تر

به جز این روش روشی دیگر وجوددارد یا خیر
متشکرم می شود
چون در vbmodal برای مشکل پیش می آید ضروری

Hossein Bazyan
جمعه 06 مهر 1386, 23:27 عصر
به جز این روش روشی دیگر وجوددارد یا خیر
متشکرم می شود
چون در vbmodal برای مشکل پیش می آید ضروری
سلام
متوجه نشدم یعنی میخوای فرمت بالا قرار بگیره و از vbmodal هم استفاده نشه ؟

RZ_HAFEZ
شنبه 07 مهر 1386, 10:35 صبح
کاربر hossein bazeyan
لطفا یه نمونه کد برای من بذارید
که با وارد کردن نام کاربری و رمز درست در فرم ورودی وارد کرد در فرم اصلی منو ها فعال یا غیر فعال بشه

با تشکر

Hossein Bazyan
شنبه 07 مهر 1386, 11:53 صبح
کاربر hossein bazeyan
لطفا یه نمونه کد برای من بذارید
که با وارد کردن نام کاربری و رمز درست در فرم ورودی وارد کرد در فرم اصلی منو ها فعال یا غیر فعال بشه

با تشکر
سلام
تکه کد زیر را یگیر و مطالعه کن امیدوارم که بتوانی برای برنامت تعمیمش بدی
جدولی در بانک بنام ParamFile ساخته ام که سه فیلد UserName, Password, Access را نگهداری میکند . هنگامی که میخواهی یو.زر جدیدی را بسازی باید Access یا دسترسی آنرا به منوها و جاهای برنامت تعیین کنی ( که این قسمت را خودت باید بنویسی) فقط یادت باشه هر جا که حق دسترسی وجود دارد باید 1 و هر جا نیست باید 0 بذاری . مثلا در برنامه ای که من نوشتم 5 منو وجود داره که برای دسترسی کامل باید فیلد Access با 11111 پر شود .
سه یوزر برات تعریف کردم یکی با


UserName=1
Passwors=1
Access=11001

که این کاربر به منوهای 3 و 4 دسترسی ندارد و دومی


UserName=2
Passwors=2
Access=11111
و سومی

UserName=bazyan
Passwors=123456
Access=11111

که این دو کاربر دسترسی کامل دارند
حال با وارد کردن صحیح رمز فیلد Access در متغییر Access که سراسری تعریف شده ذخیره میشود و چنجره لوگین بسته شده و پنجره اصلی باز میشود . در Form_load این پنجره تابع کوچکی برای تعیید دسترسی نوشته ام . حرف به حرف از متغیر Access میخواند اگر 1 بود خاصیت Enable منو را True در غیر اینصورت False میکند.
این یک نمونه است که میتوانی حق دسترسی را هم به منوها و هم به کامندها و به همه Objectها بدی.
این حالت خیلی مشتری پسنده و تقزیبا تمامی مشترهای من این مدلی را خواسته اند .

Mbt925
شنبه 07 مهر 1386, 15:03 عصر
فکر کنم مشکل اینه که قراره یه فرم برای همه درخواست ها نمایش داده بشه ، با این تفاوت که هر بار یه قسمت از برنامه که موردنظره نمایش داده بشه.

خب ورود و چک کردن پسورد که مشکلی نداره ، میمونه فقط نمایش فرم های مختلف از برنامه

اول توی فرم درخواست پسوردتون یه متغیر تعریف کنین و
هربار که می خواین فرم درخواست پسورد رو فراخوانی کنین ، یه مقدار یه این متغیر بدین و بعد از اینکه پسورد رو چک کردین ، اگه درست بود ، مقدار اون متغیر رو چک کنین و مثلا اگه 1 بود فرم1 رو نمایش بدین و اگه 2 بود فرم2 و ...