مشاهده نسخه کامل
: اضافه کردن کاربر در اکسس برای کار با Ado در دلفی
چطور باید در اکسس یک کاربر را با محدودیت هایش تعریف کنیم یا اینکه بوسیله کد در زمان اجرای برنامه دلفی با Ado.
یعنی یک کاربر تعریف کنیم که مدیر باشه و بتونه کاربرهای جدید تعریف کنه و کاربری تعریف کنیم که فقط بتونه اطلاعات رو بخونه و تغییر نده.
MasterData
18-02-2007, 08:19
شرمنده توي اكسس در لايه ديتا بيس نميتوني همچين كاري بكني
بايد در لايه برنامه اين امكانات رو فراهم كني
خدا نکنه شرمنده بشی
میشه نحوه اینکار رو با کد توضیح بدی. منظور شما از برنامه یعنی در زمان اجرای برنامه. ممنون
delphianddotnet
19-02-2007, 11:09
اگه میخوای کاربرهاتو محدود کنی و نحوه دسترسی به برنامه را میخوای محدود کنی بگو تا راهنمائیت کنیم
یک از راه کارش اینه که منوهاتو تو یه جدول بزاری و از نوع بولین تعریف کنی من خودم در اخرین پروژه عملی انکار رو کردم که خیلی هم جالب بود .یه راه دیگه اشم ارزش گزاری بر روی فرم هاته که برای هر فرم یه ارزش میزاری و اونو تو یه فایل تعریف میکنی با توجه به کاربر هات اونا رو (نحئه نمایش که ایا نمایش داده بشه یا نه ) محدود کنی
امیدوارم منظورمو واضح گفته باشم .
لطف کنید هر چی در مورد این سوالی که مطرح کردم میدونید با کد بفرمایید چون من یه مقداری عجله دارم. متشکرم.
MasterData
20-02-2007, 23:32
لطف کنید هر چی در مورد این سوالی که مطرح کردم میدونید با کد بفرمایید چون من یه مقداری عجله دارم. متشکرم
بازم شرمنده چئن اين يه موضوع كلي هست و بايد براش طراحي انجام بدين
يه ذره به خودتون سختي بدين بابا
شما سر نخ رو بدید...
مثلا بگید لایه برنامه یعنی چی.
شما خیلی کلی گفتید و من هم خیلی جزئی خواستم.
MasterData
21-02-2007, 22:52
لایه برنامه
يعني خودتون يه الگوريتم و كد بايد بنويسيد.
طرح هاي مختلفي وجود داره مثلا يه جدول در نظر بگيريد اطلاعات كاربران و جاهايي كه بايد دسترسي داشته باشن تعريف كنيد و در برنامه اطلاعات كاربر رو از جدول مربوطه دريافت و بر حسب اطلاعات اون تصميم گيري كنيد.
این کار رو قبلا انجام دادم. یعنی پسورد رو در یکی از جدول های اکسس نگهداری میکردم.
اگه دیتابیس بدون پسورد باشه که کاربر می تونه با اکسس بانک رو باز کنه و جدول ها رو بخونه.
پس باید لااقل یک پسورد داشته باشه. اما وقتی پسورد روی بانک گذاشته باشی با ادو کانکشن نمیشه متصل شد بهش.
چطوری باید همان پسورد اصلی را رو بانک گذاشت
Mahmood_N
24-02-2007, 03:45
سلام
اما وقتی پسورد روی بانک گذاشته باشی با ادو کانکشن نمیشه متصل شد بهش.
میشه ...
توی همون قسمتی که دارید آدرس بانک رو به ADOConnection می دید ، به قسمت ALL برید ، توی اون لیست یه گزینه به نام Password هست ، روش دو بار کلیک کنید و پسورد رو وارد کنید و OK رو بزنید ...
موفق باشید ...
یک بانک اکسس ساختم. از منوی تولز --> سکیوریتی --> ست دیتابیس پسورد یک پسورد روش گذاشتم.
با کانکشن استرینگ ادو تیبل به بانک متصل شدم و پسورد رو هم همون طوری که نوشته بودید وارد کردم. اما قبول نمیکنه.
فکر کنم گزینه ست دیتابیس پسورد در اکسس فقط مال خود اکسس هست و برای استفاده در دلفی باید از گزینه های دیگر سکیوریتی استفاده کنیم.
حالا اگه پسورد گزاشتیم و قبول کرد، چطوری در زمان اجرا پسورد رو عوض کنیم.
MasterData
24-02-2007, 08:37
امنيت اكسس رو بيخيال شو
چون برنامه هاي جانبي فراووني براي بدست اوردن پسورد وجود داره
فقط يه راه اونم نچندان خيلي مطمئن هست
اينكه فايل اكسس رو دستكاري كني
يعني هدر فايل رو تغيير بدي و فقط موقع استفاده در برنامه خودتون دوباره بازسازي كنيد و بعد از اتمام كار دوباره تغيير بدين
Mahmood_N
24-02-2007, 21:46
یک بانک اکسس ساختم. از منوی تولز --> سکیوریتی --> ست دیتابیس پسورد یک پسورد روش گذاشتم.
با کانکشن استرینگ ادو تیبل به بانک متصل شدم و پسورد رو هم همون طوری که نوشته بودید وارد کردم. اما قبول نمیکنه.
فکر کنم گزینه ست دیتابیس پسورد در اکسس فقط مال خود اکسس هست و برای استفاده در دلفی باید از گزینه های دیگر سکیوریتی استفاده کنیم.
حالا اگه پسورد گزاشتیم و قبول کرد، چطوری در زمان اجرا پسورد رو عوض کنیم.
سلام
مطمئنا اشتباه کوچکی کردید ...
یک بار دیگه امتحان کنید ...
در مورد تغییر پسورد هم چون یه خورده طولانی هست باید توی پست جدا بگم ( البته مطمئن نیستم که بلد باشم !!!! )
امنيت اكسس رو بيخيال شو
کاملا موافقم ...
استفاده از Sql منظقی تره ( من تا حالا برنامه ای برای پیدا کردن پسورد بانکهای Sql ندیدم ) ...
البته بستگی به برنامه داره ، یک برنامه تک کاربره و نه چندان پیچیده با اکسس هم کارش راه می افته ...
موفق باشید ...
parsafarshad1980
25-02-2007, 02:04
سلام
دوست عزیز علی آقا همانطور که دوستمون آقای MasterData گفتند بهتر سکیوریتی تو اکسس و دورش، یک خط قرمز به ضخامت یک متری بکشی
چون آخرین باری که من تست میکردم حدود 20حرف بیشتر نمیشه رمز گذاشت.
تازه اگر هم از همه 20 حرفش استفاده کنی!! من برنامه دارم که کمتر از 3 ثانیه کلمه رمزو بهت میده!!!
پس رمزو بیخیال
من خودم تمام برنامه هایی که بانک اطلاعاتیشون با اکسس هست و بر میدارم و ازشون راحت استفاده میکنم
مطمئن باش حالا حالاها راحی پیدا نمیکنی که از دسترسی به بانک اکسس جلو گیری کنه
فقط تنها راحی که میتونه یک خورده برنامتو امنیت شو با لا ببره اینه که Query های اکسسو تو برنامه خودت تعریف کنی و استفاده کنی. در غیر اینصورت هرکسی میتونه به راحتی تمام از بانک شما استفاده کنه و در کمترین زمان یک برنامه با همون قابلیت هایی که شما نوشتید بنیویسه.
و راه حل دوم اینه که بانک اطلاعاتی خودتون و عوض کنید. مثلاً به SQL ببرید.
خیلی ممنون از شما
بله حرف شما درسته. اما اگه برنامه پسورد داشته باشه از نظر کاربر بهتره. همه که مثل شما برنامه نویس نیستند!
حالا یکی سوال اصلی رو جواب بده
آقا محمود شما اگه میتونی یه پست جدا بنویس.
Mahmood_N
25-02-2007, 07:16
سلام
کلیات کار تقریبا اینجوریه :
شما موقع ایجاد بانک اطلاعاتی ، باید برای این کار فیلدهایی از نوع Boolean ( که در اکسس با Yes/No مشخص شده بسازید ( البته مقدارش رو توی اکسس True و False قرار بدید ) )
مثلا من یه برنامه کتابخونه دارم می نویسم ، توی این برنامه خوب مظمئنا چند تا امکان هست که می تونم برای کاربرها غیرفعال یا فعال کنم ( مثل مدیریت اعضاء یا کتابهای اهدایی یا ... )
بعد توی دلفی :
شما یه فرمی می زارید برای ثبت کاربر ...
توی این فرم شما چند تا CheckBox میزارید که این CheckBox ها هر کدوم برای یکی از امکانات برنامه شماست ، به عکس زیر نگاه کنید :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
من برای هر یک از این CheckBox ها یک فیلد توی بانکم ساختم ...
---------------
بعد موقع ثبت کاربر مقدار اون فیلدهایی که ساختید رو برابر با Check یا UnCheck بودن این CheckBox ها ( یعنی True یا False بودن مقدار Checked هر یک از CheckBox ها ) قرار می دید و موقعی هم که کاربر می خواد وارد برنامه بشه ، با توجه به مقدار همون فیلدها باید امکانات مربوطه رو فعال یا غیر فعال کنید ...
امیدوارم به دردتون خورده باشه ...
اگه بازم مشکلی بود بپرسید ...
موفق باشید ...
این کار شما عملی است اما در اکسس قسمتی هست به نام User and Group Premesion اگه اشتباه ننوشته باشم.
فکر کنم از اونجا بشه کاربر رو اضافه کرد.
از راه حل شما هم ممنون
Mahmood_N
26-02-2007, 13:23
سلام
اما در اکسس قسمتی هست به نام User and Group Premesion اگه اشتباه ننوشته باشم.
آخه دوست عزیز ، وقتی شما یک برنامه بانک اطلاعاتی با اکسس می نویسید ، دیگه اکسس رو به کار برتون نمی دید که بخواد با امکانات اون کاربر درست کنه !!!!!
این وظیفه برنامه شماست که کاربرها رو تعریف کنه ، مهمترین و می شه گفت تنها استفاده شما از فایل اکسس ذخیره اطلاعات و برخی مواقع استفاده از امنیت اون هست ، وگرنه کارهای دیگه رو برنامه خودتون باید انجام بده !!
اگر هم از ابتدا کاربرها رو بخواید تعریف کنید ، غیر منظقی ترین کار ممکن رو کردید ...
الته این کار عملی هست ولی ملزم کدهای بسیار زیاد و ارتباط با اکسس و کلا کاری غیر منطقی است ...
شما این جور وظایف رو باید به برنامه خودتون بدید ...
و نکته دیگه این که فکر کنم این گزینه برای تعریف کاربران استفاده کننده از خود اکسس هست ، نه DataBase ... !!!!
موفق باشید ...
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.