首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asp.net Identity - GeneratePasswordResetTokenAsync方法何时传递到查看令牌更改?

asp.net Identity - GeneratePasswordResetTokenAsync方法何时传递到查看令牌更改?
EN

Stack Overflow用户
提问于 2014-12-16 18:56:18
回答 1查看 4.1K关注 0票数 0

当我使用usermanager生成一个密码重置令牌时,一旦这个令牌被传递给剃刀视图,令牌就会发生变化。

下面是一个例子:

代码语言:javascript
复制
 var resetToken = await userManager.GeneratePasswordResetTokenAsync(userId);

            if (registerSuccess)
            {
                var model = new ResetModel { Token = resetToken, UserId = userId };               
                return this.View(model);          
            }  

我在调试时可以看到重置标记的值是

AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAmfrU4hd3Q0WLiANC7DsekQAAAAACAAAAAAADZgAAwAAAABAAAAB1Q/FgOVgsh+0SsLLYSKrFAAAAAASAAACgAAAAEAAAAFMVfXSy24PLGHSoIqFO/YRAAAAAYll/7E8QwrH5JEfhMKGVHNe4CZM3TFWVL4lRE7Jhm/I6CKkTdloHofac054Ergy7BtwtV9OM7ila3f/ti90iDBQAAABAfR8pdGZ2eBXq/sGw0qVP6PQlWg==

但是,一旦在视图上呈现,它就会更改为

AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAmfrU4hd3Q0WLiANC7DsekQAAAAACAAAAAAADZgAAwAAAABAAAACDU0qQzkc65kQa58ift5NBAAAAAASAAACgAAAAEAAAAGGy5Flp6xtR7cGZkvRoNNpAAAAAha1iP7uXqD6KSKbWBOfdXM1KaZnOekiYTSad6/zkejoCk5cDd1FK/JdxKS0Rx9rHeqTJpZkzeEmh5HI3//cLixQAAAAJFOivgVuhoOXTMZMeY+AlLzmifQ==

视图代码如下所示:

代码语言:javascript
复制
 @Html.HiddenFor(x => x.Token)

我完全不知道这里发生了什么事。有人知道发生了什么吗?为什么令牌在呈现到视图后会发生变化?

EN

回答 1

Stack Overflow用户

发布于 2014-12-17 00:02:34

如果令牌被传递到Url,则需要为令牌添加Url编码:

代码语言:javascript
复制
var resetToken = await userManager.GeneratePasswordResetTokenAsync(userId);
resetToken = System.Web.HttpUtility.UrlEncode(resetToken);

否则,浏览器会处理令牌中可能出现的特殊符号。

如果在视图中打印,则需要通过Html.Raw关闭HtmlEncoding

代码语言:javascript
复制
<input type="hidden" value="@Html.Raw(Model.Token)" name="Token" />
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27503014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档