PDA

View Full Version : سوال: تایید ثبت نام در Identity 2



morika
پنج شنبه 29 آبان 1393, 16:24 عصر
سلام
با این کد PM> Install-Package Microsoft.AspNet.Identity.Samples -Pre نمونه Identity رو روی پروژم نصب کردم
اما هرچی گشتم جواب سوالم رو پیدا نکردم
اینکه توی این نمونه ConfirmEmail و VerifyCode اصلا اهمیتی ندارن. یعنی وقتی شخص ثبت نام می کنه نه احتیاجی به تایید ایمیل داره و نه هیچی دیگه و کاملا می تونه به حسابش لاگین کنه. من قصد دارم بعداز ثبت نام یه کد به کاربر اس ام اس کنم و بعداز اون کاربر بتونه به حسابش لاگین کنه. البته دنبال تایید دو مرحله ای هم بدوم که فهمیدم این کار فقط برای تایید شماره تلفن و ایمیل کاربر هست و بعداز لاگین کردنش تو حساب کاربریش تازه تنظیم میشه که اینم به درد من نمی خوره چون من نمی خوام اصلا کاربر بتونه لاگین کنه. (شایدم من اشتباه متوجه شدم)
در کل می خوام ببینم identity برای این هدفی که من دارم چیز آماده داره یا باید خودم بنویسم؟
ممنون

sunn789
جمعه 30 آبان 1393, 19:38 عصر
سلام دوست عزیز
identity 2 کلی امکاناتبه پروژه شما اضافه میکنه البته چند تا اسکال هم داره اما در مورد استفاده از اس ام اس و ایمیل خوب واضح است که باید در صورت استفاده از Email خودتون استفاده کنید و در صورت استفاده از SMS هم امکانات SMS را به پروژه اضافه کنید ،
و اما استفاده ، استفاده از sms رو تا به حال ندیدم چون من پنل اس ام اس ندارم و اما email به راحتی توی Codeproject چند تا مقاله میتونید پیدا کنید.

hakim22
شنبه 01 آذر 1393, 16:02 عصر
در فایل IdentityConfig کلاس emailService وجود دارد. شما باید در متد SendAsync دستورات ارتباط با ایمیل و ارسال ایمیل را وارد کنید. متد SendAsync بعد از ثبت نام کاربر اجرا میشود و اگر کدهای ایمیل شما اشکالی نداشته باشد به کاربر کد امنیتی ارسال میشود.

البته شما باید مقادیر IdentityMessage را به درستی ست کنید :


public class EmailService : IIdentityMessageService
{
public Task SendAsync(IdentityMessage message)
{

var myMailService = new MyMailServices();
myMailService.SendEmail(message.Destination, message.Subject, message.Body);
return Task.FromResult(0);
}
}


در این کد متد SendEmail متدی است که من خودم نوشتم و با گرفتن آدرس ایمیل و متن و موضوع یک ایمیل ارسال میکند و یک Dll مجزا است که بعدا رفرنس دادم.
(در اینجا یک لینک به کاربر ارسال میشه که با کلیک بر روی آن ایمیلش تایید میشود- تست شده !)

همچنین هر کاربر یک پروپرتی به نام EmailConfirmed داره که شما میتوانید با بررسی آن تایید شدن ایمیل کاربر رو بعدا چک کنید. شما میتوانید با دستکاری متد ثبت نام از ورود کاربر قبل از تایید ایمیل جلوگیری کنید.

morika
شنبه 01 آذر 1393, 22:33 عصر
شما میتوانید با دستکاری متد ثبت نام از ورود کاربر قبل از تایید ایمیل جلوگیری کنید.
خب کل چیزی که من می خوام بدونم همینه. پس برای این کار چیز آماده ای وجود نداره و خودمون باید از ورود کسی که ایمیلش تایید نشده جلوگیری کنیم؟ درسته؟

hakim22
یک شنبه 02 آذر 1393, 08:22 صبح
چیز آماده همان پراپرتی EmailConfirmed هست. فقط کافیه یک if به اکشن Register اضافه کنید.

آتیلا کاربر
جمعه 11 آذر 1401, 21:20 عصر
سلام لطفا شما که یچیزی سرتون میشه کمکم کنید پیجم هک شده میخواست پیجمو بخره گفت ایمیلشو بزنم بعد پولمو میده ولی بلافاصله رمزو و پروفایل رو تغییر داد ولی هنوز به ایمیل و شماره من رمز میاد
تایید دو مرحله ای انینستا رو گذاشته
ممکنه پیجمو پس بگیرم ؟؟ اگه مسلمونید اگه انسانید راهنمایی کنید منو