PDA

View Full Version : حرفه ای: اعطای نقش و درج پروفایل به هنگام لاگین کاربر با اکانت گوگل



hmahdavi921
دوشنبه 06 شهریور 1396, 11:36 صبح
با سلام
لاگین کاربر با استفاده از اکانت گوگل رو پیاده کردم. البته در سایت ما چندین نقش وجود داره که کاربر برای ادامه کارش نیازمند داشتن نقش و همچنین پروفایل هست.این متد تولید شده توسط خود ویژوال هست. آیا چنین کاری رو میشه در این متد پیاده کرد؟
با تشکر




public async Task<ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmatio nViewModel model, string returnUrl) {
if (User.Identity.IsAuthenticated)
{
return RedirectToAction("Manage");
}


if (ModelState.IsValid)
{
// Get the information about the user from the external login provider
var info = await AuthenticationManager.GetExternalLoginInfoAsync();
if (info == null)
{
return View("ExternalLoginFailure");
}
var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };


IdentityResult result = await UserManager.CreateAsync(user);
if (result.Succeeded)
{
result = await UserManager.AddLoginAsync(user.Id, info.Login);
if (result.Succeeded)
{
await SignInAsync(user, isPersistent: false);


// For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
// Send an email with this link
// string code = await UserManager.GenerateEmailConfirmationTokenAsync(us er.Id);
// var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
// SendEmail(user.Email, callbackUrl, "Confirm your account", "Please confirm your account by clicking this link");


return RedirectToLocal(returnUrl);
}
}
AddErrors(result);
}


ViewBag.ReturnUrl = returnUrl;
return View(model);
}

Moien Tajik
دوشنبه 06 شهریور 1396, 22:37 عصر
شما در هر صورت دارید داخل جدول aspnetuser کاربرهایی که ثبت نام میکنن رو اضافه میکنید ، موقع ثبت نام میتونید اون هارو به رول خاص اضافه کنید و یا بر اساس اطلاعاتشون که داخل aspnetusers ذخیره شده پروفایل بسازید و توسط ادمین سایت رول هایی رو بهشون اختصاص بدید .