-
گام دوم: ایجاد لایه دسترسی به داده
چهارشنبه 25 خردادماه سال 1390 16:26
یکی از گزینهها هنگام کار با داده، درج کردن مشخصات منطقی داده داخل لایه نمایش است (داخل برنامه وب، ASP.NET لایه نمایش را ایجاد میکند). ممکن است این کار با نوشتن کدهای ADO.NET به عنوان قسمتی از کد صفحه ASP.NET و یا با استفاده از کنترل SqlDataSource داخل صفحه ASP.NET انجام شود. به عبارت دیگر، دو روش برای ارتباط لایه...
-
اتصال به پایگاه داده در Microsoft SQL Server
پنجشنبه 19 خردادماه سال 1390 16:41
ممکن است شما به پایگاه داده Northwind که در SQL Server نصب شده متصل شوید. اگر در سرور، Northwind نصب نباشد، ابتدا باید آن را نصب کنید. وقتی پایگاه داده نصب شد به Server Explorer رفته و روی گره Data Connections کلیک راست کرده و Add Connection را انتخاب کنید. اگر Server Explorer مشاهده نمیشود از مسیر View/Server...
-
استفاده از پایگاه داده در پوشه App_Data
پنجشنبه 19 خردادماه سال 1390 16:40
اگر خدمت دهنده پایگاه داده SQL Server 2000 or 2005 ندارید، میتوانید از نسخه SQL Server 2005 Express Edition پایگاه داده Northwind داخل پوشه App_Data استفاده کنید. یک پایگاه داده که در پوشه App_Data قرار داده میشود به طور خودکار به Server Explorer اضافه میشود. همچنین پوشه App_Data میتواند فایلهای Access را نیز در...
-
گام اول: ایجاد یک پروژه وب و اتصال به پایگاه داده
پنجشنبه 19 خردادماه سال 1390 11:22
قبل از اینکه بتوانیم DAL را ایجاد کنیم، نیاز است که یک وب سایت ایجاد کرده و تنظیمات پایگاه داده را انجام دهیم. با ایجاد یک وب سایت ASP.NET بر پایه file system شروع میکنیم. برای انجام این کار به منوی فایل رفته و New Web Site را انتخاب کنید در این موقع کادر محاورهای New Web Site نمایش داده میشود. قالب ASP.NET Web...
-
پیشگفتار
پنجشنبه 19 خردادماه سال 1390 10:18
همانند توسعه دهندگان وب، زندگی ما برگرد داده میچرخد. ما بانکهای اطلاعاتی را برای نگهداری داده ایجاد میکنیم و کدهایی برای بازیابی و ویرایش اطلاعات مینویسیم و صفحات وب آنها را جمعآوری و نمایش میدهند. ما با ایجاد یک معماری نرم فزار شروع خواهیم کرد. این معماری از لایه دسترسی به داده (Data Access Layer (DAL)) که از...
-
Data
چهارشنبه 18 خردادماه سال 1390 16:35
از این پس سعی می کنم که آموزش های مربوط به Data را نیز ترجمه و در اختیار شما قرار دهم. البته اینکار زمان می خواهد و متاسفانه گاهی امکان آن وجود ندارد. ولی در کل سعی من بر این است که شما را با آموزش های ارائه شده در سایت asp.net آشنا کنم. شرکت شما در نظرسنجی می تواند باعث دلگرمی برای ادامه راه باشد.
-
سفارشی ساختن تنظیمات SqlMembershipProvider
چهارشنبه 18 خردادماه سال 1390 16:21
به طور پیش فرض نشانه connectionStringName از تهیه کننده SqlMembershipProvider (AspNetSqlMembershipProvider) با مقدار LocalSqlServer مقداردهی شده است. همانند AspNetSqlMembershipProvider مقدار LocalSqlServer نیز در machine.config مشخص شده است. <connectionStrings> <add name="LocalSqlServer"...
-
گام چهارم: تعیین کردن تهیه کننده و سفارشی کردن تنظیمات آن
دوشنبه 16 خردادماه سال 1390 14:45
تمام بسترهایی که مدل تهیه کننده را پشتیبانی میکنند، مانند بسترهای عضویت و نقش ها، در انجام جزییات کمبود دارند ولی در عوض با استفاده از کلاس تهیه کننده میتوان کمبودها را برطرف کرد. در مورد بستر عضویت، کلاس Membership یک رابط برای مدیریت حسابهای کاربران تعیین کرده است، اما به طور مستقیم روی هیچ کدام از محل های...
-
نگهداری و ارتباطات نقش ها
دوشنبه 16 خردادماه سال 1390 09:28
بستر نقش ها به توسعه دهندگان اجازه می دهد تا تعدادی نقش مشخص کرده و تعیین کننده که کدام کاربر به کدام نقش مرتبط است. این اطلاعات در بانک اطلاعاتی در دو جدول نگهداری میشود: aspnet_Roles و aspnet_UsersInRoles . هر رکورد در جدول aspnet_Roles مشخص کننده یک نقش برای یک برنامه ویژه است. همانند جدول aspnet_Users در جدول...
-
ایمن کردن گذرواژه
شنبه 14 خردادماه سال 1390 11:16
اطلاعات گذرواژه در جدول aspnet_Membership نگهداری میشود. SqlMembershipProvider این امکان را در اختیار قرار میدهد که گذرواژه به یکی از سه روش زیر نگهداری شود: · Clear : گذرواژه در بانک اطلاعاتی به صورت متن ساده نگهداری می شود. · Hashed : گذرواژه به وسیله یکی از الگوریتمهای موجود Hash شده و در بانک اطلاعاتی نگهداری...
-
نگهداری اطلاعات حساب های کاربری
پنجشنبه 12 خردادماه سال 1390 12:17
اطلاعات حساب های کاربری در دو جدول نگهداری می شود: aspnet_Users و aspnet_Membership . جدول aspnet_Users فیلدهایی برای نگهداری اطلاعات ضروری حساب کاربر دارد. مهمترین سه فیلد عبارتند از: · UserId · UserName · ApplicationId UserId کلید اصلی است (با نوع uniqueidentifier ). UserName از نوع nvarchar(256) ، و همراه با...
-
جدا کردن محل نگهداری کاربران در برنامه ها
چهارشنبه 11 خردادماه سال 1390 13:32
بسترهای عضویت و نقش ها طوری طراحی شده اند که بتواند محل نگهداری کاربران و نقش ها را بین تعدادی برنامه به اشتراک گذارد. یک برنامه ASP.NET که از بسترهای عضویت و نقش ها استفاده می کند، باید مشخص کند که از کدام محل به اشتراک گذاشته شده می خواهد استفاده کند. به طور خلاصه، چندین برنامه کاربردی وب می توانند از محل نگهداری...
-
گام سوم: نگاهی به جدولهای شما
سهشنبه 10 خردادماه سال 1390 13:06
وقتی در یک نرم افزار ASP.NET با بسترهای عضویت و نقشها کار میکنید، انجام جزییات توسط تهیه کننده کپسوله شده است. در بحث های آینده ما از طریق کلاس های Membership و Roles در بستر .NET با بسترهای عضویت و نقش ها ارتباط برقرار می کنیم. وقتی که ما از رابط سطح بالا استفاده میکنیم، نیازی نیست که نگران جزییات سطح پایین باشیم،...
-
گام دوم: افزودن شمای SqlMembershipProvider به پایگاه داده
چهارشنبه 4 خردادماه سال 1390 14:39
SqlMembershipProvider باید جدولها، نماها و رویههای ذخیره شده خاص خود را در محل ذخیره کاربران ایجاد کند. بدین منظور میتوان از ابزار aspnet_regsql.exe در مسیر %WINDIR%\Microsoft.Net\Framwork\v2.0.50727 استفاده کرد. هنگام استفاده، ابزار aspnet_regsql.exe از ما میخواهد که نام سروری که پایگاه داده در آن قرار دارد،...
-
ایجاد پایگاه داده عضویت در SQL Server-گام اول: تعیین محل نگهداری
دوشنبه 2 خردادماه سال 1390 14:13
گام اول: تعیین محل نگهداری کاربران دادههای یک برنامه ASP.NET معمولا در تعدادی جدول درون یک پایگاه داده نگهداری میشوند. هنگام ایجاد شمای [1] پایگاه داده SqlMembershipProvider ما باید تعیین کنیم که در پایگاه داده برنامه قرار گیرد و یا یک پایگاه داده جدا ایجاد شود. پیشنهاد ما، به دو دلیل زیر قرار دادن در پایگاه داده...
-
دسترسی به اطلاعات UserData
شنبه 31 اردیبهشتماه سال 1390 12:28
تا اینجا نام شرکت و عنوان هر کاربر هنگام ورود در مشخصه UserData در برچسب احراز هویت فرمها ذخیره شده است. این اطلاعات بدون رجوع به مخزن نگهداری کاربران در تمام صفحات از طریق برچسب احراز هویت فرمها قابل دسترسی هستند. برای نشان دادن اینکه چگونه می توان اطلاعات را از UserData بازیابی کرد، صفحه Default.aspx را با نوشتن...
-
نوشتن اطلاعات در UserData
پنجشنبه 29 اردیبهشتماه سال 1390 13:23
متاسفانه، اضافه کردن اطلاعات مشخصات کاربر در یک برچسب احراز هویت فرمها به آن سادگی که انتظار داشتید، نیست. مشخصه UserData از کلاس FormsAuthenticationTicket فقط خواندنی است و تنها از طریق سازنده کلاس FormsAuthenticationTicket مقدار دهی میشود. هنگام تهیه مشخصه UserData در سازنده، ما نیز نیاز داریم مقادیر دیگر برچسب را...
-
مرحله چهارم: نگهداری اطلاعات بیشتر از کاربر در برچسب
شنبه 24 اردیبهشتماه سال 1390 18:03
بسیاری از برنامههای کاربردی وب، اطلاعاتی در مورد کاربر جاری نمایش میدهند و یا اساس نمایش صفحه وب را بر اساس کاربر وارد شده تغییر میدهند. برای مثال، یک برنامه کاربردی وب ممکن است نام کاربر و آخرین زمانی که او وارد شده است را در گوشه بالای هر صفحه نمایش دهد. برچسب احراز هویت فرمها نام کاربر جاری وارد شده را نگهداری...
-
کلیدهای تنظیم ارزیابی و کشف رمز
سهشنبه 20 اردیبهشتماه سال 1390 13:15
رمزنگاری و الگوریتم آن که به وسیله سیستم احراز هویت فرمها برای رمزنگاری و ارزیابی برچسب استفاده میشوند از طریق عنصر <machineKey> در Web.config قابل تغییر هستند. در جدول زیر مقادیر و توضیحات آنها آورده شده است: نشانههای عنصر <machineKey> نشانه (Attribute) توصیف (Description) Decryption الگوریتم استفاده...
-
مرحله سوم: ایمن کردن برچسب احراز هویت
یکشنبه 18 اردیبهشتماه سال 1390 14:56
برچسب احراز هویت فرمها از طریق سیم، در یک کوکی و یا در داخل نشانی انتقال پیدا میکند. همچنین، جهت شناسایی، برچسب احراز هویت میتواند شامل اطلاعات کاربر نیز باشد. در نتیجه، این خیلی مهم است که اطلاعات برچسب دور از چشمان هکر رمزگذاری شده باشد و سیستم احراز هویت فرمها بتواند تضمین کند که هکر نمیتواند از برچسب استفاده...
-
رمزگذاری برچسب احراز هویت در نشانی
پنجشنبه 15 اردیبهشتماه سال 1390 14:58
کوکیها یک واسط نگهدارنده اطلاعات مرورگر در هر درخواست برای یک سایت خاص هستند. اگر کوکیها پشتیبانی نمیشوند، یک روش جایگزین باید برای فرستادن برچسب احراز هویت از مرورگر به سرور به کار گرفته شود. یک راه حل عمومی در محیط بدون کوکی استفاده از رمزگذاری محتویات کوکی در داخل نشانی است. بهترین روش برای اینکه ببینید چگونه...
-
مرحله دوم: استفاده از برچسب احراز هویت فرمها بدون کوکی
دوشنبه 5 اردیبهشتماه سال 1390 15:40
به طور پیش فرض سیستم احراز هویت فرمها تعیین میکند چه موقع برچسب احراز هویت خود را در مجموعه کوکیها نگهداری کند و یا در نشانی صفحه درج کند. تمام مرورگرهای اصلی کامپیوترهای رومیزی مانند: Opera, Internet Explorer, FireFox و Safari کوکیها را پشتیبانی میکنند، اما تمام وسایل موبایل این کار را انجام نمیدهند. مشخصه...
-
استفاده از صفحه دیگری برای ورود به غیر از Login.aspx
پنجشنبه 1 اردیبهشتماه سال 1390 13:29
برای هدایت خودکار کاربر ناشناس به صفحه ورود، FormsAuthenticaionModule باید نشانی صفحه ورود را بداند. این نشانی در مشخصه loginUrl در عنصر <forms> مشخص میشود و به طور پیش فرض “login.aspx” است. اگر سایت شما موجود است، ممکن است نشانی صفحه ورود آن متفاوت از “login.aspx” باشد، و این صفحه توسط موتورهای جستجو، شماره و...
-
مشخص نمودن زمان انقضاء برچسب
یکشنبه 28 فروردینماه سال 1390 13:51
برچسب احراز هویت فرمها یک نشانه است که هرگونه خصوصیتی را نمایش میدهد. با برچسب احراز هویت بر پایه کوکی، این نشانه در یک قالب از یک کوکی نگهداری میشود و در هر درخواست به وب سرور ارسال میشود. در اختیار داشتن این نشانه، اعلان می کند که: "من کاربر هستم، در حال حاضر وارد سیستم شده ام." و برای اینکه هویت کاربر...
-
پیکربندی احراز هویت فرمها
چهارشنبه 24 فروردینماه سال 1390 17:04
مرحله اول: آزمایش تنظیمات پیکربندی <Forms> سیستم احراز هویت فرمها در ASP.NET تعدادی تنظیمات پیکربندی ارائه میدهد که میتواند بر پایه برنامهنویسی انجام شود. شامل تنظیماتی مانند: چرخه حیات برچسب احراز هویت فرمها، چه میزان امنیت به برچسب اعمال شود، تحت چه شرایطی برچسب احراز هویت بدون کوکی استفاده شود، نشانی...
-
مرحله پنجم: خروج
چهارشنبه 10 فروردینماه سال 1390 12:42
علاوه بر متدهایی برای ورود کاربر، کلاس FormsAuthentication یک متد SignOut نیز فراهم میکند. متد SignOut به راحتی برچسب احراز هویت فرمها را خراب میکند و باعث خروج کاربر از سایت میشود. کنترل LoginStatus بسته به وضعیت شناسایی کاربر یکی از این دو پیوند را نمایش میدهد: ورود و یا خروج. کلیک کردن بر روی پیوند ورود، باعث...
-
استفاده از کنترلهای LoginView و LoginName
یکشنبه 7 فروردینماه سال 1390 17:53
مایش متفاوت محتوی به کابران شناسایی شده و ناشناس لازم است؛ از این رو، نام کاربر جاری وارد شده نمایش داده میشود. بدان منظور، ASP.NET دارای دو کنترل وب است که بدون نوشتن حتی یک خط کد این کار را انجام میدهند. کنترل LoginView یک کنترل وب بر اساس قالب است که نشان دادن دادههای متفاوت به کاربران شناسایی شده و ناشناس را...
-
مرحله چهارم: تشخیص بازدیدکنندگان احراز هویت شده و تصمیم گیری در
پنجشنبه 26 اسفندماه سال 1389 16:29
آنچه مسلم است، ما باید اطلاعات متفاوتی به کاربران شناسایی شده و کاربران ناشناس نمایش دهیم. علاوه بر این اغلب اوقات ما نیاز داریم که مشخصات کاربر شناسایی شده را بدانیم. اجازه دهید برای شرح دادن این شیوه صفحه Default.aspx را تکمیل کنیم. در صفحه Default.aspx دو کنترل Panel اضافه کنید؛ یکی به نام AuthenticatedMessagePanel...
-
ایمن سازی صفحه ورود
یکشنبه 22 اسفندماه سال 1389 17:32
وقتی که کاربر اعتبارنامهاش که شامل نام کاربری و رمز عبور است را وارد و فرم صفحه ورود را ارسال میکند، اعتبارنامه از طریق اینترنت و به صورت متن ساده به وب سرور انتقال مییابد. آن به این معنی است که هر هکری که در حال نظارت بر ترافیک شبکه است می تواند نام کاربری و رمز عبور را ببیند. برای جلوگیری از این مشکل، باید ترافیک...
-
ورود کاربر
شنبه 21 اسفندماه سال 1389 13:20
با فرض اینکه اعتبارنامه های وارد شده معتبر هستند، باید یک برچسب احراز هویت فرمها ایجاد شود، تا به وسیله آن کاربر وارد سایت گردد. کلاس FormsAuthentication در فضای نام System.Web.Security متدهای متفاوتی برای ورود و خروج کاربران از طریق سیستم احراز هویت فرمها، در اختیار قرار میدهد. با وجود اینکه چندین متد در کلاس...