Adr*_*ore 1 asp.net authentication asp.net-mvc forms-authentication
我想将ASP.NET MVC的视图用作邮件模板引擎.为此,我使用System.ComponentModel.Component.WebClient从另一个控制器操作调用一个控制器操作,解析返回的网页并通过电子邮件发送.
在这种情况下,是否可以将当前用户的登录凭据(我使用FormsAuthentication)转发到WebClient请求的控制器操作?用户密码是加密的,因此我不能仅使用其用户名和密码创建新的NetworkCredentials实例.
是的,您可以将.ASPXAUTH cookie从当前Request对象复制到WebClient
编辑:我自己实际上没有尝试过,因此出于安全原因,可能会从Request对象中删除.ASPXAUTH cookie.
但由于您可以访问机器密钥,因此您可以动态创建自己的cookie.这是应该做的代码(我找不到我实际做的那个项目)
var ticket = new FormsAuthenticationTicket(User.Identity.Name, true, 5);
string aspxAuthCookieValue = FormsAuthentication.Encrypt(ticket);
Run Code Online (Sandbox Code Playgroud)
此代码为您当前的用户名创建表单身份验证cookie,并且到期时间为5分钟.
| 归档时间: |
|
| 查看次数: |
782 次 |
| 最近记录: |