- قسمت web api برنامه با mvc یکپارچه هست؟ اگر بله، برای کار با web api نیازی به این روش ندارید. همینقدر که کاربر برای مثال از طریق روشهایی مانند ASP.NET Identity و یا Forms authentication به سایت وارد شده باشد، کوکی حاصل از اعتبارسنجی آنها، به همراه اعمال Ajax ای مختص Web API هم به صورت خودکار ارسال میشود و ... کاربر با موفقیت اعتبارسنجی خواهد شد. پروژهی مطلب «اعمال تزریق وابستگیها به مثال رسمی ASP.NET Identity» یک قسمت Web API محافظت شده هم دارد؛ با این view که کاملا عادی به نظر میرسد. چون سیستم یکپارچه هست.
- کاربرد JWT بیشتر در برنامههای SPA مانند Angular است: «احراز هویت و اعتبارسنجی کاربران در برنامههای Angular»
در اینجا کاربر پس از لاگین (از طریق صفحهی لاگینی، کاملا عادی و معمولی که هیچ اطلاعاتی هم از پیش در آن ذخیره نشده)، چیزی را که سمت کلاینت ذخیره میکند (برای مثال در local storage مرورگر)، فقط توکنهای دریافتی پس از اعتبارسنجی موفق است و نه کلمهی عبور و نه هیچ اطلاعات دیگری. سپس در هر درخواست به منابع محافظت شدهی سمت سرور، صرفا این توکنها را ارسال میکند تا توسط آن، کار اعتبارسنجی خودکار کاربر صورت گیرد و هویت و همچنین سطوح دسترسی آن مشخص شوند.
- مثالی که در این پروژه ارائه شده، نمونهی دیگر «آزمایش Web APIs توسط Postman - قسمت ششم - اعتبارسنجی مبتنی بر JWT» است؛ جهت ارائهی یک سری مفهوم.
برای کار کردن با پایگاه داده چطور ؟
فرض کنید ما یک پایگاه داده در یک سرور جداگانه داریم و حالا قصد داریم از طریق برنامه به بانک متصل شده و عملیات CRUD را پیاده سازی کنیم ، با توجه به اینکه cross platform است و هر زبانی راهکار خود را دارد ، از چه زبانی برای یا فریم ورکی استفاده کنیم ؟
و اینکه با توجه ب ماهیت cordova برای امنیت connection string ای که به سرور راه دور متصل میشود ، چکاری میتوان انجام داد ؟
آیا استفاده از وب سرویس یا web api و فراخوانی آن در cordova کار منطقی ست ؟
فرض کنید ما یک پایگاه داده در یک سرور جداگانه داریم و حالا قصد داریم از طریق برنامه به بانک متصل شده و عملیات CRUD را پیاده سازی کنیم ، با توجه به اینکه cross platform است و هر زبانی راهکار خود را دارد ، از چه زبانی برای یا فریم ورکی استفاده کنیم ؟
و اینکه با توجه ب ماهیت cordova برای امنیت connection string ای که به سرور راه دور متصل میشود ، چکاری میتوان انجام داد ؟
آیا استفاده از وب سرویس یا web api و فراخوانی آن در cordova کار منطقی ست ؟
بازخوردهای دوره
ارتباطات بلادرنگ و SignalR
مهندس کامل مطالعش کردم-
منظورم یه سرفصل جدا با web sockets بود -
چون با web sokcets که کار کردم به یه مشکل کوچیک برخوردم-
مرسی
Intro to Windows Workflow Foundation (Part 1 of 7): Workflow in Windows Applications (Level 100)
This webcast is a code-focused introduction to developing workflow-enabled Microsoft Windows platform applications. We cover the basics of developing, designing, and debugging workflow solutions. Gain the knowledge and insight you need to be confident choosing workflow for everyday applications.
Intro to Windows Workflow Foundation (Part 2 of 7): Simple Human Workflow Using E-mail (Level 200)
Have you thought about how you might apply the workflow concept to e-mail? In this webcast New Zealand based regional director, Chris Auld, leads attendees through a simple worked example of the use of SMTP e-mail as part of a workflow solution. Chris demonstrates how to create custom activities to query Active Directory to retrieve user data, send e-mail, and wait for e-mail responses to continue the workflow process. This code-intensive session gives users taking their first steps with workflow a good grounding in some of the key extensibility concepts.
Intro to Windows Workflow Foundation (Part 3 of 7): Hosting and Communications Options in Workflow Scenarios (Level 300)
The session looks at options for hosting workflow applications. We cover managing events, instance tracking, and persistence, and provide a close look at the simple communications mechanisms that are available for you to use in your workflow applications.
Intro to Windows Workflow Foundation (Part 4 of 7): Workflow, Messaging, and Services: Developing Distributed Applications with Workflows (Level 300)
Web service technologies have typically taken a "do-it-yourself" approach to maintaining the interoperation state of services. Using workflow, developers now have tools that allow them to describe the long-running state of their services and delegate much of the state management to the underlying platform. Managing this state correctly becomes even more challenging in applications that coordinate work across multiple services either within an organization or at an Internet scale. This session looks at how developers who use either Microsoft ASMX or Microsoft's framework for building service-oriented applications, code-named "Indigo", can create workflow-oriented applications that are both faster to write and more manageable and flexible once deployed.
Intro to Windows Workflow Foundation (Part 5 of 7): Developing Event Driven State Machine Workflows (Level 300)
State machines used to be something that you had to first draw on paper and then implement in code. This session shows how to use technologies to create event-driven workflows and how to apply this to a typical programming problem. We introduce the concept of a flexible process and show how this can help with modeling real-world processes using state and sequential workflow. Plenty of coding is included to illustrate how you can seamlessly merge state machine design and your code.
Intro to Windows Workflow Foundation (Part 6 of 7): Extending Workflow Capabilities with Custom Activities (Level 300)
It is helpful to think of activities as controls within a workflow, similar to controls used with Microsoft ASP.NET Pages or Microsoft Windows Forms. You can use activities to encapsulate execution logic, communicate with the host and decompose a workflow into reusable components. This session examines the simple process of creating custom activities. If you want to expose activities to other developers designing workflows, you are likely to find this session valuable.
Intro to Windows Workflow Foundation (Part 7 of 7): Developing Rules Driven Workflows (Level 300)
Rules can be a powerful business tool when combined with workflow. In this session, learn how to develop more advanced activities that support the modeling of rich business behavior such as human workflow. Understand when to use rules for business logic, and see how rule policies allow for the description of sophisticated behavior in an integrated and flexible way. This session gives you an interesting insight into the power of using workflow at the core of a line of business application.
This webcast is a code-focused introduction to developing workflow-enabled Microsoft Windows platform applications. We cover the basics of developing, designing, and debugging workflow solutions. Gain the knowledge and insight you need to be confident choosing workflow for everyday applications.
Intro to Windows Workflow Foundation (Part 2 of 7): Simple Human Workflow Using E-mail (Level 200)
Have you thought about how you might apply the workflow concept to e-mail? In this webcast New Zealand based regional director, Chris Auld, leads attendees through a simple worked example of the use of SMTP e-mail as part of a workflow solution. Chris demonstrates how to create custom activities to query Active Directory to retrieve user data, send e-mail, and wait for e-mail responses to continue the workflow process. This code-intensive session gives users taking their first steps with workflow a good grounding in some of the key extensibility concepts.
Intro to Windows Workflow Foundation (Part 3 of 7): Hosting and Communications Options in Workflow Scenarios (Level 300)
The session looks at options for hosting workflow applications. We cover managing events, instance tracking, and persistence, and provide a close look at the simple communications mechanisms that are available for you to use in your workflow applications.
Intro to Windows Workflow Foundation (Part 4 of 7): Workflow, Messaging, and Services: Developing Distributed Applications with Workflows (Level 300)
Web service technologies have typically taken a "do-it-yourself" approach to maintaining the interoperation state of services. Using workflow, developers now have tools that allow them to describe the long-running state of their services and delegate much of the state management to the underlying platform. Managing this state correctly becomes even more challenging in applications that coordinate work across multiple services either within an organization or at an Internet scale. This session looks at how developers who use either Microsoft ASMX or Microsoft's framework for building service-oriented applications, code-named "Indigo", can create workflow-oriented applications that are both faster to write and more manageable and flexible once deployed.
Intro to Windows Workflow Foundation (Part 5 of 7): Developing Event Driven State Machine Workflows (Level 300)
State machines used to be something that you had to first draw on paper and then implement in code. This session shows how to use technologies to create event-driven workflows and how to apply this to a typical programming problem. We introduce the concept of a flexible process and show how this can help with modeling real-world processes using state and sequential workflow. Plenty of coding is included to illustrate how you can seamlessly merge state machine design and your code.
Intro to Windows Workflow Foundation (Part 6 of 7): Extending Workflow Capabilities with Custom Activities (Level 300)
It is helpful to think of activities as controls within a workflow, similar to controls used with Microsoft ASP.NET Pages or Microsoft Windows Forms. You can use activities to encapsulate execution logic, communicate with the host and decompose a workflow into reusable components. This session examines the simple process of creating custom activities. If you want to expose activities to other developers designing workflows, you are likely to find this session valuable.
Intro to Windows Workflow Foundation (Part 7 of 7): Developing Rules Driven Workflows (Level 300)
Rules can be a powerful business tool when combined with workflow. In this session, learn how to develop more advanced activities that support the modeling of rich business behavior such as human workflow. Understand when to use rules for business logic, and see how rule policies allow for the description of sophisticated behavior in an integrated and flexible way. This session gives you an interesting insight into the power of using workflow at the core of a line of business application.
در قسمت قبلی با Volume آشنا شدیم و نحوهی اجرا کردن یک Source Code را درون Container یاد گرفتیم. در این قسمت میخواهیم یک Image شخصی ساخته، آنرا اجرا و درون Docker hub ارسال نماییم.
درون package.json هم این قسمت را تغییر میدهیم:
حال فایل Dockerfile را ساخته و دستورالعملهای زیر را درون آن مینویسیم:
توضیحات دستورات فوق
حال با استفاده از port 8080 میتوانید اپلیکیشن را اجرا نمایید.
حال روی localhost قابلیت اجرا خواهد داشت؛ اما میخواهیم این app را بر روی container اجرا کنیم. بنابراین Dockerfile را اینگونه مینویسیم:
همه چیز خیلی شبیه به داکرفایل قبلی است، با این تفاوت که از ایمیج microsoft/dotnet استفاده کردهایم (از imageهای سبکتری برای محیط production استفاده میکنیم! ضمن اینکه image فوق از Debian استفاده میکند. image جدیدی روی توزیع Alpine ایجاد شده است که حجم خیلی پایینی داشته و برای مطالعه بیشتر به اینجا رجوع کنید).
اکنون app شما باید روی پورت خارجی 8080 قابل اجرا باشد.
Dockerfile چیست؟
Dockerfile عملا چیزی بیشتر از یک دستور العمل از نوع متنی برای build و ساخت یک docker image از آن نمیباشد. ضمن اینکه مراحل build شدن، cache شده و buildهای بعدی با سرعت خیلی بیشتری اجرا خواهند شد. بعد از نوشتن چند dockerfile متوجه خواهیم شد که مراحلش بسیار ساده است.
ساخت اولین Dockerfile
قبل از ساخت dockerfile، مثل جلسهی قبل یک پروژهی سادهی nodejsی را با فایل index.js میسازیم:
const express = require('express') const app = express() const PORT = 3000; app.get('/', (req, res) => { res.send('Hello World') }) app.listen(PORT, () => { console.log(`listening on port ${PORT}!`) })
"scripts": { "start": "node index" },
FROM node ENV NODE_ENV=production COPY . /var/www WORKDIR /var/www RUN npm i EXPOSE 3000 ENTRYPOINT npm start
1) FROM node یک imageی است که برنامهی شما از آن استفاده میکند.
2) از environment variable استفاده کرده و نوع آن را روی production میگذاریم.
3) COPY کردن تمام فایلهای دایرکتوری جاری پروژه درون فایل سیستم container به آدرس فوق.
4) عوض کردن work directory روی آدرسی که پروژه کپی شده است.
5) اجرا کردن دستور npm i برای نصب شدن Dependenciesهای پروژه.
6) EXPOSE کردن یک port برای ایجاد دسترسی.
7) نقطهی شروع برنامه و دستور npm start که درون package.json قبل تعریف نموده بودیم.
بعد از ساخت Dockerfile فوق نوبت به build گرفتن از آن میرسد که با استفاده از دستور زیر میباشد:
docker build -f Dockerfile -t alikhll/testnode1 .
نکته: اگر image node را روی سیستم خود نداشته باشید ابتدا بصورت خودکار آن را pull مینماید.
1) پرچم f- که برای شناساندن فایل Dockefile میباشد، بدلیل این است که نام این فایل قابل تغییر میباشد.2) پرچم t- برای نام image ساخته شده میباشد. همچنین . نیز به دایرکتوری جاری اشاره میکند.
بعد از ساخته شدن image با استفاده از دستور docker images میتوانید آن را مشاهده نمایید.
برای اجرای image نیز از دستور زیر استفاده میکنیم:
docker run -d -p 8080:3000 alikhll/testnode1
از آنجایی که اکثر خوانندگان این مجموعه برنامه نویسان دات نت هستند یک Dockerfile دات نتی نیز برای تسلط بیشتر مینویسیم.
ابتدا دستورات زیر را درون ترمینال خود وارد کرده و یک پروژهی وب از نوع Net Core. را میسازیم:
dotnet new web dotnet restore dotnet run
FROM microsoft/dotnet ENV ASPNETCORE_URLS http://*:3000 COPY . /var/www WORKDIR /var/www RUN dotnet restore EXPOSE 3000 ENTRYPOINT dotnet run
نکتهی مهم ASPNETCORE_URLS میباشد چون میخواهیم بتوانیم از خارج از محیط container با استفاده از IP، به آن دسترسی داشته باشیم (محیط local نیست).
دستورات زیر را برای build و اجرا وارد مینماییم:
docker build -f Dockerfile -t alikhll/testasp1 .
docker run -d -p 8080:3000 alikhll/testasp1
نکته: من container قبلی nodejsی را stop کرده بودم وگرنه این پورت قابل استفادهی مجدد نبود!
پابلیش کردن روی Docker Hub
انتشار دادن روی Docker hub ّبسیار ساده است. میتوانید یک اکانت به صورت رایگان ساخته و imageهای خود را بر روی آن انتشار دهید.
نکته: پروژههای تستی خود را میتوانید آنجا انتشار داده که البته قابلیت private بودن را ندارند. در صورتیکه برای یک پروژهی واقعی که imageهای عمومی نیستند و فقط درون سازمان باید به آن دسترسی داشته باشند، میتوانید اکانت enterprise تهیه کرده و imageهای خود را درون آن مدیریت نمایید. همچنین از سرویسهای ابری Azure, Amazon نیز برای انتشار دادن imageهای خصوصی میتوان استفاده نمود.
دستور زیر برای انتشار دادن imageی که ساختیم روی docker hub میباشد. ابتدا login کرده user/password را وارد کرده سپس push مینماییم:
docker login
docker push alikhll/testnode1
نکته: به جای alikhll باید username شخصی خود را وارد نمایید.
اکنون به راحتی با استفاده از دستور زیر روی یک ماشین دیگر که داکر روی آن نصب شده است، میتوانید image را pull کرده و اجرا نمایید:
docker pull alikhll/testnode1
نظرات اشتراکها
ویدیو های EmberConf 2015
EmberConf 2015 - Opening Keynote https://www.youtube.com/watch?v=o12-90Dm-Qs - EMBER.JS PERFORMANCE https://www.youtube.com/watch?v=iTZxo6bSx44 - DESIGNING FOR EMBER APPS https://www.youtube.com/watch?v=ijiNbF2Wu0E - HIJACKING HACKER NEWS WITH EMBER.JS https://www.youtube.com/watch?v=PXB93Z8azZE - THE ART OF EMBER DEPLOYMENT https://www.youtube.com/watch?v=4EDetv_Rw5U - AMBITIOUS UX FOR AMBITIOUS APPS https://www.youtube.com/watch?v=TlU0m18Pr-Y - BRING SANITY TO FRONTEND INFRASTRUCTURE WITH EMBER https://www.youtube.com/watch?v=iwPsNTkyCcA - DYNAMIC GRAPHIC COMPOSITION IN EMBER https://www.youtube.com/watch?v=J-LpgGqyxcI - TEST-DRIVEN DEVELOPMENT BY EXAMPLE https://www.youtube.com/watch?v=2b1vcg_XSR8 - ALIGNING EMBER WITH WEB STANDARDS https://www.youtube.com/watch?v=knYeLk1EuHw - GROWING EMBER ONE TOMSTER AT A TIME https://www.youtube.com/watch?v=xsG0gDkvDPw - INTERACTION DESIGN WITH EMBER 2.0 AND POLYMER https://www.youtube.com/watch?v=Z8NDAiOZ8SE - BUILDING CUSTOM APPS WITH EMBER CLI https://www.youtube.com/watch?v=J6vPwvFdUiE - BUILDING REAL-TIME APPLICATIONS WITH EMBER https://www.youtube.com/watch?v=nfGORL8ebn8 - PHYSICAL DESIGN https://www.youtube.com/watch?v=p8aF-7-_cE8 - CLOSING KEYNOTE https://www.youtube.com/watch?v=qWcNZ3j3y6g - MINITALKS https://www.youtube.com/watch?v=K4fyHxg3Ldk - FAULT TOLERANT UX https://www.youtube.com/watch?v=s2awUFvA-0I
هدف اصلی بنده ساخت یک قالب آماده بر اساس مقالاتی که تا الان در سایت جاری مطالعه کردم و با امکان سطح دسترسی داینامیک، بود.همانطور که در مقاله مربوط به چک لیست تهیه یک برنامه Asp.net MVC ، در نکات تکمیلی پیشنهاد شد:
" تهیه قالبهای سفارشی VS.NET و لحاظ موارد فوق در آن جهت استفادههای بعدی نیز وجود دارد"
کاربر سیستمی
نام کاربری :SystemAdmin
کلمه عبور: Admin1234@gmail.com
راه اندازی پروژه
از این مقاله کمک بگیرید و ورژن جدید را از مخزن پروژه دانلود کنید
موارد اضافه شده در ورژن آخر
- بهبود سیستم فیلترینگ و مرتب سازی لیست کاربران
- استفاده از noty به جای toastr
- یکپارچه شده با Asp.net Web Api
- یکپارچه شده با Asp.net SignalR
بازخوردهای پروژهها
کامنت گذاری مرتبط با پست های سایت
سلام، ابتدا تشکر میکنم بابت ارائه این پروژه خوب وخوش ساخت
خواستم خواهش کنم اگر برای شما مقدور هست در بین کدها با کامنت گذاری به مطالب مرتبط با سایت ارجاع دهید (طبق گفته آقای نصیری برای فهمیدن این پروژه نیاز هست که روی مطالب سایت مسلط بود).
با این کار سطح آموزشی این پروژه بسیار غنیتر میشود.
با تشکر
خواستم خواهش کنم اگر برای شما مقدور هست در بین کدها با کامنت گذاری به مطالب مرتبط با سایت ارجاع دهید (طبق گفته آقای نصیری برای فهمیدن این پروژه نیاز هست که روی مطالب سایت مسلط بود).
با این کار سطح آموزشی این پروژه بسیار غنیتر میشود.
با تشکر