本文介绍了忘记密码的方法和放大器;编辑用户的方法不能正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我创建MVC应用4。
在该申请中
-
如果用户忘记了密码,我有方法来发送电子邮件到用户
重置密码。 -
如果管理员想改变用户的当前密码,我的方法来发送电子邮件到相关细节的用户。
所以我得到同样的错误,当我尝试发送电子邮件
我收到错误,如以下
- 是我得到了忘记密码的方法错误
好像我在遇到麻烦时,我尝试发送电子邮件,我使用asp.net成员身份
这是有关code段忘记口令的方法
[HttpPost]
[使用AllowAnonymous]
[ValidateAntiForgeryToken]
公共异步任务<&的ActionResult GT; ForgotPassword(ForgotPasswordViewModel模型)
{ 如果(ModelState.IsValid)
{
VAR用户名=等待UserManager.FindByNameAsync(model.UserName);
VAR用户=等待UserManager.FindByEmailAsync(model.Email);
如果(用户= NULL和放大器;!&安培;!用户名= NULL)
{ VAR提供商=新Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider(my_application之);
UserManager.UserTokenProvider =新Microsoft.AspNet.Identity.Owin.DataProtectorTokenProvider<ApplicationUser>(provider.Create(\"EmailConfirmation\"));
变量code =等待UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
System.Net.Mail.MailMessage M =新System.Net.Mail.MailMessage(
........
这是有关code段为编辑用户的方法。
[HttpPost]
[CustomAuthorization(IdentityRoles =管理员)]
[ValidateAntiForgeryToken]
公共异步任务&LT;&的ActionResult GT; Edit_User(EditUserViewModel editUser)
{
尝试
{
如果(ModelState.IsValid)
{
AspNetUser用户= db.AspNetUsers.Find(editUser.Id); 如果(editUser.Change ==是){ 字符串userid = editUser.Id;
字符串NEWPASSWORD = editUser.NewPassword; VAR提供商=新Microsoft.Owin.Security.DataProtection.DpapiDataProtectionProvider(my_application之);
UserManager.UserTokenProvider =新Microsoft.AspNet.Identity.Owin.DataProtectorTokenProvider<ApplicationUser>(provider.Create(\"EmailConfirmation\"));
变量code =等待UserManager.GenerateEmailConfirmationTokenAsync(user.Id); System.Net.Mail.MailMessage M =新System.Net.Mail.MailMessage(
................................................
好像具有同一地点的问题,但无法弄清楚尚未
解决方案
我同样的问题,那么很多研究后,我发现,问题出在IIS部署
所以下面这个线程我能解决我的问题。
<一个href=\"https://social.msdn.microsoft.com/Forums/vstudio/en-US/ad1f7367-7727-4b1a-a190-840ff4ed5709/adfs-20-sso-the-data-protection-operation-was-unsuccessful?forum=Geneva\"相对=nofollow>数据保护操作不成功
这篇关于忘记密码的方法和放大器;编辑用户的方法不能正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!