مطلب «معرفی JSON Web Token» را مطالعه کنید تا تفاوتهای آن با یک Guid مشخص شود (از داشتن امضای دیجیتال جهت اطمینان حاصل کردن از عدم دستکاری آن توسط کاربر، داشتن تاریخ انقضاء تا امکان قرار دادن Claims و نقشهای کاربر در آن جهت استفادهی در برنامههای SPA و ...). به علاوه زمانیکه در اینجا یک زیرساخت استاندارد و آمادهی کار با آن و همچنین کاملا آزمایش شده و یکدست با تمام اجزای سیستم در ASP.NET Core وجود دارد، اختراع مجدد چرخ، خصوصا در مورد راه حلهای امنیتی، توصیه نمیشود.
- همان بحث «iTextSharp و استفاده از قلمهای محدود فارسی» هست. به همین جهت در این کتابخانه جائیکه قلمها معرفی میشوند، امکان ثبت دو قلم را دارید تا در پشت صحنه همان FontSelector را تشکیل دهد؛ یا .... از یک قلم کامل استفاده کنید.
- البته باید در نظر داشت که قسمت تولید PDF از HTML بر اساس XMLWorker، از قابلیت FontSelector استفاده نمیکند و تک قلمی بیشتر نیست (کتابخانهی XMLWorker به این صورت و بدون در نظر گرفتن ویژگی FontSelector طراحی شده).
از هر دو میتوانید استفاده کنید. اولی مبتنی بر توکنها است «معرفی JSON Web Token» و دومی به صورت پیشفرض مبتنی بر کوکیها. توکنها برای برنامههای SPA، مانند Angular بیشتر مرسوم هستند. امکان کار کردن با آنها در برنامههای غیروبی هم هست. در کل هدف از بحث جاری، ارائهی یک راه حل سبک، بجای ASP.NET Core Identity هست و تمام امکانات آنرا شامل نمیشود.
من مطلب فوق رو مرحله به مرحله انجام دادم ، 1 بار با استفاده از Nuget و یکبار هم با کپی دایرکتوری معرفی شده در پوشه CodeTemplates ولی View سفارشی من در بخش Template ظاهر نمیشود ، البته من از T4MVC در پروژه استفاده میکنم ، آیا نکته ای هست که باید لحاظ شود ؟ مواردی هم که در commentها مطرح شده بود رو چک کردم ولی نتیجه ای نداشت
اطلاعات پروژه : VS 2015 Update 2 و همچنین Asp.net mvc 5
اطلاعات پروژه : VS 2015 Update 2 و همچنین Asp.net mvc 5
نظرات مطالب
سازماندهی برنامههای Angular توسط ماژولها
زمانیکه یک feature module را از طریق دستور «ng g m users -m app.module --routing » ایجاد میکنید، به صورت خودکار user.module.ts و user-routing.module.ts را ایجاد میکند که این user-routing.module در user.module به صورت خودکار ثبت میشود. بنابراین با معرفی user.module به ماژول اصلی برنامه (همان قسمت m app.module-)، کار ثبت تمام مسیریابیهای آن هم خودکار خواهد بود.
سلام حقیقت من شخصا اعتقادی به استفاده از Windows-authentication برای اعتبار سنجی نداشتم ولی پروژه ای الان در دست دارم که ارتباط زیادی با اکتیو دایرکتوری داره.. به همین دلیل میخواستم بدونم:
بخش دسترسیهای کاربر رو هم میشه سمت اکتیودایرکتوری پیاده سازی کرد و برنامه از اون اطلاعات استفاده کنه یا چنین چیزی در Windows-authentication و اکتیودایرکتوری پیشبینی نشده. اگر قابل پیاده سازی بود ممنون میشم منبع معرفی کنید.
یک نکته: بارگذاری مجدد اطلاعات فایل config در ASP.NET Core 1.1
تنظیم reloadOnChange به true ایی که در متن عنوان شد، فقط با IConfigurationRoot و دیکشنری آن کار میکند. اگر از تنظیمات strongly typed استفاده کنید، این گزینه بر روی آن تاثیری نخواهد داشت. در نگارش 1.1، اینترفیس جدیدی را به نام IOptionsSnapshot معرفی کردهاند که به تغییرات فایل کانفیگ واکنش نشان میدهد. بنابراین تنها کاری را که باید انجام دهید، جایگزین کردن <>IOptions با <>IOptionsSnapshot است. سایر تنظیمات صورت گرفته یکی است و تفاوتی نمیکند.
تنظیم reloadOnChange به true ایی که در متن عنوان شد، فقط با IConfigurationRoot و دیکشنری آن کار میکند. اگر از تنظیمات strongly typed استفاده کنید، این گزینه بر روی آن تاثیری نخواهد داشت. در نگارش 1.1، اینترفیس جدیدی را به نام IOptionsSnapshot معرفی کردهاند که به تغییرات فایل کانفیگ واکنش نشان میدهد. بنابراین تنها کاری را که باید انجام دهید، جایگزین کردن <>IOptions با <>IOptionsSnapshot است. سایر تنظیمات صورت گرفته یکی است و تفاوتی نمیکند.
نظرات مطالب
دیباگ سرویسهای ویندوز
من تجربه خوبی در کار با topshelf داشتم که دوستان تو این پس هم معرفی کردن
تبدیل برنامههای کنسول ویندوز به سرویس ویندوز ان تی
استفاده از Debugger.Lunch هم خیلی گزینه خوبیه که خیلی جاها میتونه گره ای از مشکلات دیباگ را باز بکنه
استفاده از Debugger.Lunch هم خیلی گزینه خوبیه که خیلی جاها میتونه گره ای از مشکلات دیباگ را باز بکنه
فقط در مورد قراردادن اون تو کد IF DEBUG من پیشنهاد میدهم که از کانفیگ چک شود که مثلا ExternalDebugger باز شود یا نه ! چون همیشه که نمیخواهیم دیباگر اونجوری باز بشه !
نظرات مطالب
EF Code First #3
شما خصوصیتی به نام FK_User_Id در مدل مورد نظر دارید؟ دقیقا باید نام خصوصیت را مشخص کنید. یعنی اگر خصوصیت مورد نظر UserId هست، باید نام آن را قید کنید؛ نه نام دیگری.
با این حال به صورت قراردادی روش زیر جواب میدهد برای دسترسی به کلید خارجی و نیازی به معرفی صریح ندارید:
public calss Test { public User User {get;set;} public int UserId {get;set;} } public class User { public int Id {get;set;} //some properties }
نظرات مطالب
چگونه کدها را مستند سازی کنیم؟
با سلام و تشکر از زحمت شما در تهیه مطلب، شاید بهتر باشد در ابتدای مطلب، مرجع اصلی که بخش عمده و اصلی مطلب ترجمه بخش هایی از آن است و مربوط به سال 2002 میباشد، به عنوان مرجع و مطلب فوق به عنوان ترجمه آن معرفی گردد.
, The fine Art of Commenting
by Bernhard Spuida