۸ مطلب با کلمهی کلیدی «asp.net identity» ثبت شده است
احراز هویت بدون پسورد در ASP Identity
بسم الله الرحمن الرحیم
نحوه لاگین کردن یک کاربر بدون داشتن کلمه عبور در ASP Identity
ASP.NET Identity دارای توابع و قابلیت های بسیار زیادی می باشد، یکی از این قابلیت ها اجازه Login کردن بدون داشتن پسورد می باشد.
در تمامی پروژه ها معمولا نیاز است تا مدیر اصلی سیستم بتواند با یک کاربر Login کند، یکی از بهترین روش های ممکن برای انجام اینکار اضافه کردن یک Button در بخش مورد نیاز و اضافه کردن کد زیر برای انجام عملیات احراز هویت و Login کردن بدون دسترسی به پسورد فرد می باشد.
ابتدا یک پراپرتی از ApplicationSignInManager به صورت زیر ایجاد می کنیم تا بتوانم به متدهای ASP.Identity دسترسی داشته باشیم.
private ApplicationSignInManager _signInManager;
public ApplicationSignInManager SignInManager
{
get
{
return _signInManager ?? HttpContext.GetOwinContext().Get<ApplicationSignInManager>();
}
private set { _signInManager = value; }
}
ادامه مطلب...
تغییر کلمه عبور در ASP Identity
بسم الله الرحمن الرحیم
تغییر کلمه عبور در ASP Identity
برای دریافت کد های این مقاله می توانید از طریق لینک زیر اقدام فرمایید.
دانلود کدهای پروژه
عنوان: آموزش asp.net Identity
در این آموزش قصد داریم تحوه انجام Reset Password را با استفاده از ASP Identity بررسی کنیم.
این فرایند طبیعتا دو مرحله خواهد داشت، ابتدا آدرسی را برای بازیابی کلمه عبور تولید می کنیم که این آدرس را باید برای کاربر ایمیل کنیم.
پس از ایجاد آدرس می بایست در صورتی که آدرس توسط کاربر درخواست داده شود، ادرس را (که Token نیز نامیده می شود) به همراه کلمه عبور جدید بررسی می کنیم و در صورت مورد تایید بودن اطلاعات خود را ویرایش می کنیم.
ForgetPassword در ASP Identity
ابتدا یک View با نام ForgetPassword برای این منظور ایجاد می کنیم و کد زیر را در آن قرار می دهیم.
@model AspnetIdentitySample.Models.BeforePasswordResetViewModelادامه مطلب...
@{
ViewBag.Title = "Forgot your password?";
}
<hgroup class="title">
<h1>@ViewBag.Title.</h1>
</hgroup>
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset class="form-horizontal">
<legend>Forgot password</legend>
<div class="control-group">
@Html.LabelFor(model => model.Email, new { @class = "control-label" })
<div class="controls">
@Html.EditorFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Email, null, new { @class = "help-inline" })
</div>
</div>
<div class="form-actions no-color">
<input type="submit" value="Submit" class="btn" />
</div>
</fieldset>
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
ساخت یک Timer با استفاده از setInterval برای صفحات وب
بسم الله الرحمن الرحیم
در بسیاری از مواقع شما نیاز دارید در صفحات وب خود از یک تایمر برای اجرا و تکرار دستورات استفاده کنید، در ASP.NET می توانستید از یک Timer در پنل های Ajax استفاده کنید اما در ASP.NET MVC باید این مشکل را به صورت زیر حل کنید:
متد setInterval
این متد بر اساس پارمتر خود که یک عدد integer و با واحد زمانی میلی ثانیه است، دستورات مشخص شده ای را اجرا می کند.
var retval = window.setInterval(expression, msec, language);
پارامتر expression
نوع پارامتر: Variant
توضیح : یک Pointer یا یک String است به متد یا دستوراتی که باید در هر بار اجرا شدن تایمر، فراخوانی و اجرا شوند.
پارامتر msec
نوع پارامتر: Integer
توضیح : بازه های زمانی تکرار این تایمر را مشخص می کند که بر اساس میلی ثانیه می باشد.
پارامتر language (اختیاری)
نوع پارامتر: Variant
پارامتری اختیاری است که یکی از مقادیر خاصیت Language را می تواند دریافت کند.
Return value
Type: Integer
توضیح : یک عدد Integer که مشخص می کند تایمر توسط متد clearInterval متوقف شده است.
آموزش Asp.net Identity
بسم الله الرحمن الرحیم
در بخش های قبلی کار با Asp.net Identity را بررسی کردیم.
خوب بدون هیچ وقفه ای به سراغ مبحث اصلی این مقاله می رویم، اگر خاطرتان باشد، گفتیم برای ذخیره اطلاعات در Asp.net Identity می توانیم از روش Cookie استفاده کنیم.
حال فکر کنید شما می خواهید اطلاعات کلاس یا همان Model کاربر خود را در Cookie ذخیره کنید. با توجه به این که Cookie فقط اجازه ذخیره کردن اشیاء Serialize را می دهد شما نمی توانید به صورت زیر عمل کنید:
User user = // function to get user
HttpCookie cookie = new HttpCookie();
cookie.Value = user;
البته در Asp.net Identity ما به این صورت cookie.Value = user اطلاعات را ذخیره نمی کنیم. اما تفاوتی نخواهد داشت.
مشکلی که اینجا مشترک است این است که کوکی نمی تواند اطلاعات یک کلاس یا Model را ذخیره کند.
راه حل:
کلاس زیر را در نظر بگیرید
public class clsAdminادامه مطلب...
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
private int _id;
public int AdminId
{
get { return _id; }
set { _id = value; }
}
}
آموزش ASP.NET Identity
بسم الله الرحمن الرحیم
معرفی ASP.NET Identity
در سال 2005 مایکروسافت ASP.NET Membership را معرفی کرد تا نیازهایی که تمامی برنامه نویسان برای احراز هویت و تعیین سطوح دسترسی کاربران داشتند را برطرف نماید.
در ابتدا سیستم ASP.NET Membership بسیاری از نیازهای برنامه نویسان را برطرف می نمود از جمله: ثبت نام، فراموشی کلمه عبور و تعیین گروه کاربر (هر کاربر می توانست در گروهایی همچون، Admin و سایر گروه هایی که شما تعریف می کردید قرار بگیرد) و... در نهایت این سیستم بسیار کمک بزرگی به برنامه نویسان کرد.
اما با گذشت زمان و تغییر و افزایش نیاز برنامه نویسان، سیستم ASP.NET Membership مشخص شد که دیگر پاسخگوی نیاز برنامه نویسان نیست بنابراین مایکروسافت سیستم جدیدی را با نام ASP.NET Identity را معرفی کرد که بسیار قدرتمندتر از سیستم ASP.NET Membership بود و همچنین امکانات جدیدی به آن اضافه شده بود ازجمله احراز هویت بر اساس سرویس های سایر سایتها و شبکه های اجتماعی مانند facebook, Google,.. و احراز هویت بر اساس سیستم های ارسال پیامک و امکانات دیگر که هر یک به نوبه خود جدید و بسیار مفید خواهند بود.
ادامه مطلب...
آموزش Asp.net Identity
بسم الله الرحمن الرحیم
با توجه به درخواست بسیاری از دوستان پس از نوشتن مقاله معرفی ASP.NET Identity، در خصوص نوشتن یک پروژه برای استفاده از Identity ASP.NET به صورت عملی بنده این مقاله را برای شما آماده کردم. انشالله مفید واقع شود.
آموزش Authentication در MVC
آموزش 3 ASP.NET Identity
در آموزش قبلی شما با فرایند کار ASP.NET Identity آشنا شدید در این مقاله شما نحوه خواندن و بررسی اطلاعات کاربر را با استفاده از SQL Server آموزش خواهید دید.
Storing user information in a database
برای ذخیره اطلاعات در دیتابیس به وسیله ASP.NET Identity ما باید Package زیر را نصب کنیم:
Install-Package Microsoft.AspNet.Identity.EntityFramework
این Package برای ارتباط ما با SQL Server است که به وسیله آن می توانیم اطلاعات خود را دردیتابیس ذخیره کنیم و سپس اطلاعات خود را نیز از دیتابیس بخوانیم.
ایجاد کلاس برای نمایش اطلاعات کاربر
ASP.NET Identity به سادگی به شما اجازه می دهد که اطلاعات اضافی را برای کاربر خود ذخیره کنید. شما برای این کار باید از کلاس IdentityUser استفاده کنید و سپس Property های مورد نیاز خود را برای ثبت اطلاعات بیشتر برای هر کاربر تعریف کنید.
در این مثال ما علاوه بر اطلاعات کاربری فیلد country را نیاز داریم به همین دلیل این فیلد را به صورت زیر اضافه می کنیم:
public class AppUser : IdentityUserادامه مطلب...
{
public string Country { get; set; }
}
آموزش Asp.net Identity MVC
بسم الله الرحمن الرحیم
پس از اراائه ASP.NET Identity امکانات جدیدی در اختیار برنامه نویسان قرار گرفت ولی متاسفانه کمی این تکنولوژی کمی گیج کننده است. به همین دلیل سعی کردم یک مثال را برای شما عزیزان در اینجا قرار دهم.
در این مقاله authentication بر اساس cookie را در ASP.NET Identity بررسی خواهیم کرد.
Project Setup
یک Empty ASP.NET MVC web application ایجاد کنید.
• از منوی File گزینه New Project و سپس "ASP.NET Web Application" را انتخاب کنید.
• از پنجره باز شدهASP.NET گزینه "Empty" و در قسمت تنظیمات گزینه MVC را انتخاب کنید.
حال یک پروژه ASP.NET MVC application ایجاد کردید.
ادامه مطلب...
آموزش Asp.net Identity
بسم الله الرحمن الرحیم
برای شروع کار Visual Studio را باز کنید سپس New-> project را انتخاب کنید و در پنجره باز شده مانند زیر NET framework 4.5 را انتخاب کنید و سپس بر روی گزینه ASP.NET Web Application کلیک کنید.
حال گزینه Emprty را انتخاب کنید و سپس نوع پروژه را از بخش پایین MVC انتخاب نمایید تا پروژه شما ایجاد شود.
حال پروژه شما ایجاد شده است و کافی است در پنجره Package Manager Console دستور زیرا برای ساخت یک پروژه ASP.NET Identity ایجاد کنید.
Install-Package Microsoft.AspNet.Identity.Samples -Pre
مدت زمان زیادی را باید منتظر بمانید زیرا تمامی package های زیر توسط این دستور نصب خواهد شد
bootstrap (≥ 3.0.0)
Microsoft.Aspnet.Identity.Core(≥ 2.1.0-alpha1)
Microsoft.Aspnet.Identity.EntityFramework(≥ 2.1.0-alpha1)
Microsoft.Aspnet.Identity.Owin(≥ 2.1.0-alpha1)
Newtonsoft.Json(≥ 5.0.6)
Microsoft.Aspnet.Mvc(≥ 5.1.1.0)
Microsoft.Aspnet.Web.Optimization(≥ 1.1.3)
jQuery(≥ 1.10.2)
jQuery.Validation(≥ 1.11.1)
Modernizr(≥ 2.6.2)
Microsoft.Owin.Host.SystemWeb(≥ 2.1.0)
Microsoft.Owin.Security(≥ 2.1.0)
Microsoft.Owin.Security.Facebook(≥ 2.1.0)
Microsoft.Owin.Security.Cookies(≥ 2.1.0)
Microsoft.Owin.Security.Google(≥ 2.1.0)
Microsoft.Owin.Security.Twitter(≥ 2.1.0)
Microsoft.Owin.Security.MicrosoftAccount(≥ 2.1.0)
Microsoft.jQuery.Unobtrusive.Validation(≥ 3.1.1)
Respond(≥ 1.2)
اگر خطایی در ارتباط با Timeout در خصوص پایین بودن سرعت اینترنت خود دریافت کردید مجددا دستور بالا را اجرا کنید تا فایلهای دانلود نشده، دانلود شوند، نگران نباشید فایل ها بر روی یکدیگر جایگزین خواهد شد.
حال به سادگی می توانید کد های مایکروسافت را برای استفاده از ASP.NET Identity بررسی کنید و بیشتر با این معماری آشنا شوید.
در بخش دیگر این معماری را به صورت کامل بررسی خواهیم کرد.