public class HomeController : Controller { private ApplicationUserManager _userManager; public HomeController() { } public HomeController(ApplicationUserManager userManager) { UserManager = userManager; } public ApplicationUserManager UserManager { get { return _userManager ?? HttpContext.GetOwinContext().GetUserManager<Applic ationUserManager>(); } private set { _userManager = value; } } public ActionResult SomeMethodToAddClaim() { if (!User.Identity.IsAuthenticated) return View(); // Current User ID var userID = User.Identity.GetUserId(); var someTestClaim = new Claim("SomeKey", "SomeValue"); UserManager.AddClaim(userID, someTestClaim); return View(); } }
سوال: افزودن claim فقط برای کاربرانی که پرداخت موفق داشته اند
شما ApplicationUserManager رو به Controller تون Inject کنید ; شبیه به AccountController پیشفرض Identity ، و با AddClaim یا AddClaimAsync ، اون Claim هایی که میخواید رو برای اون کاربر بخصوص اضافه کنید :
public class HomeController : Controller { private ApplicationUserManager _userManager; public HomeController() { } public HomeController(ApplicationUserManager userManager) { UserManager = userManager; } public ApplicationUserManager UserManager { get { return _userManager ?? HttpContext.GetOwinContext().GetUserManager<Applic ationUserManager>(); } private set { _userManager = value; } } public ActionResult SomeMethodToAddClaim() { if (!User.Identity.IsAuthenticated) return View(); // Current User ID var userID = User.Identity.GetUserId(); var someTestClaim = new Claim("SomeKey", "SomeValue"); UserManager.AddClaim(userID, someTestClaim); return View(); } }
public class HomeController : Controller { private ApplicationUserManager _userManager; public HomeController() { } public HomeController(ApplicationUserManager userManager) { UserManager = userManager; } public ApplicationUserManager UserManager { get { return _userManager ?? HttpContext.GetOwinContext().GetUserManager<Applic ationUserManager>(); } private set { _userManager = value; } } public ActionResult SomeMethodToAddClaim() { if (!User.Identity.IsAuthenticated) return View(); // Current User ID var userID = User.Identity.GetUserId(); var someTestClaim = new Claim("SomeKey", "SomeValue"); UserManager.AddClaim(userID, someTestClaim); return View(); } }
![](http://www.niloblog.com/images/backlink.gif)
![](http://www.niloblog.com/images/seo.png)