Asp.net mvc 3 MVC3-从GET请求调用登录方法
我需要能够从GET请求调用内置的[HttpPost]登录方法(在帐户控制器中)。基本上,新帐户将被分配一个临时密码,通过电子邮件发送。用户单击电子邮件中的链接(URL中包含用户ID和临时pw),该链接将在MVC应用程序的帐户控制器中处理。我不知道该怎么办。是否可以从控制器上的GET操作方法重定向到POST logon操作方法?在维护HttpContext对象的同时,如何做到这一点?除了使用user和pw strings参数创建一个新的GET logon方法,并重新创建POST方法中的逻辑(使用MembershipServer和FormsService对象),这似乎是不可行的 编辑:对于关注本文的任何人,我最终实现的解决方案是:Asp.net mvc 3 MVC3-从GET请求调用登录方法,asp.net-mvc-3,authentication,Asp.net Mvc 3,Authentication,我需要能够从GET请求调用内置的[HttpPost]登录方法(在帐户控制器中)。基本上,新帐户将被分配一个临时密码,通过电子邮件发送。用户单击电子邮件中的链接(URL中包含用户ID和临时pw),该链接将在MVC应用程序的帐户控制器中处理。我不知道该怎么办。是否可以从控制器上的GET操作方法重定向到POST logon操作方法?在维护HttpContext对象的同时,如何做到这一点?除了使用user和pw strings参数创建一个新的GET logon方法,并重新创建POST方法中的逻辑(使用M
- 在评论中使用@Shyju的建议,我创建了一个新的GET-action方法来响应电子邮件链接,它返回一个“Register-new-User”视图,其中包含传递用户的隐藏输入\pw和一个submit按钮
- 视图返回到正常登录方法。如果用户或pw未被更改,则将对用户进行身份验证
- 我添加了一个全局操作过滤器,用于测试用户对象属性“MustChangePassword”。如果为true,则重定向到更改密码操作方法。任何控制器的任何方法都会发生这种情况,帐户控制器除外(因此您可以实际点击登录、chg pw和其他方法)
- 然后在“ChangePassword”POST方法中,成功的pw更改将“MustChangePassword”属性重置为false