【发布时间】:2013-04-19 11:41:05
【问题描述】:
我正在实施一个密码重置系统,虽然代码运行良好,但有一个小问题......与用户有关。该系统通过生成通过电子邮件发送的一次性加密安全令牌来工作。问题是要使用这些令牌,用户必须点击他们收到的电子邮件中的链接。这本身不是问题,但有问题的链接看起来像这样:
http://www.example.com/Account/ResetPassword/184?t=BC2EveZtRl3wjbONboalzlUVwUpp%252BYaiKvbsZ6aPPYE%253D
用户不愿意点击这个链接,因为它又大又吓人;他们认为这是一些恶意第三方窃取他们的密码或给他们病毒或其他东西的伎俩。
如果这是一个视图,我会使用@Html.ActionLink() 生成一个漂亮的<a> 链接,上面写着“单击此处重置您的密码”,这很好。然而,在控制器中,我无法访问该方法,除非我实例化一个HtmlHelper,这需要ViewData,这会导致需要实例化的一整串事情来伪造我赢得的一些东西'无论如何都不要使用,而且我看过的所有地方都说这是不好的做法,我不应该这样做。
在控制器代码、ASP.NET MVC 中生成整洁的<a> 链接的最简洁方法是什么?
【问题讨论】:
标签: html asp.net-mvc-4 hyperlink asp.net-core-2.0 asp.net-mvc-routing