如何在HiQPdf中使用.NET Identity并呈现PDF认证
问题描述:
我希望能够使用.NET Identity在我的C#.NET MVC应用程序中的操作中呈现PDF。如何在HiQPdf中使用.NET Identity并呈现PDF认证
但是,我想渲染的动作需要用户进行身份验证,并且HiQPdf不会像原来那样尊重Cookie。
我该如何做到这一点?
答
您需要的cookie传递到PDF生成器,其余的应该工作:
public ActionResult DownloadPdf(int? id)
{
var fullUrl = Url.Action("Details", "MyController", new { id }, Request.Url.Scheme);
var pdf = new HtmlToPdf();
string fileName = "Some name.pdf";
var cookies = Request.Cookies.AllKeys.ToDictionary(k => k, k => Request.Cookies[k].Value);
foreach(var cookie in cookies)
pdf.HttpCookies.AddCookie(cookie.Key,cookie.Value);
return File(pdf.ConvertUrlToMemory(fullUrl), System.Net.Mime.MediaTypeNames.Application.Pdf, fileName);
}
只是为了阻止更多的萎靡不振:**自应答不仅是允许的,但[特别鼓励(HTTPS:/ /*.com/help/self-answer)**。请不要标记此类帖子以供版主注意,也不要因为使用了专门用于分享知识的功能而对作者反省。 –