private void TestNotificationSubscriptionDeletion(int?tenantId) { var notificationName = "Test"; var user = CreateTestUser(tenantId); UsingDbContext( context => { var userAccount = context.UserAccounts.First(u => u.UserName == user.UserName); userAccount.IsDeleted.ShouldBe(false); }); _notificationSubscriptionManager.Subscribe(new UserIdentifier(user.TenantId, user.Id), notificationName); var subscriptions = _notificationSubscriptionManager.GetSubscriptions(notificationName); subscriptions.Count.ShouldBe(1); subscriptions[0].UserId.ShouldBe(user.Id); _userAppService.DeleteUser(user.Id); UsingDbContext( context => { var userAccount = context.UserAccounts.First(u => u.UserName == user.UserName); userAccount.IsDeleted.ShouldBe(true); }); subscriptions = _notificationSubscriptionManager.GetSubscriptions(notificationName); subscriptions.Count.ShouldBe(0); }
public ActionResult Login(LoginModel model) { if (ModelState.IsValid) { var loginResult = _customerService.ValidateCustomer(model.LoginName, model.Password); switch (loginResult.Result) { case LoginResults.Successful: { var customerDto = loginResult.Customer.MapTo <CustomerDto>(); //生成ClaimsIdentity var identity = _loginManager.CreateUserIdentity(customerDto); //用户登录 AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = model.RememberMe }, identity); _notificationSubscriptionManager.Subscribe(new Abp.UserIdentifier(null, (long)customerDto.Id), "notice"); return(RedirectToAction("Index", "Dashboard")); } case LoginResults.Deleted: ModelState.AddModelError("", "该用户已经被冻结"); break; case LoginResults.NotRegistered: ModelState.AddModelError("", "该用户未注册"); break; case LoginResults.Unauthorized: ModelState.AddModelError("", "该用户未授权"); break; case LoginResults.WrongPassword: default: ModelState.AddModelError("", "密码错误"); break; } } return(View(model)); }