如何在HiQPdf中使用.NET Identity并呈现PDF认证

问题描述:

我希望能够使用.NET Identity在我的C#.NET MVC应用程序中的操作中呈现PDF。如何在HiQPdf中使用.NET Identity并呈现PDF认证

但是,我想渲染的动作需要用户进行身份验证,并且HiQPdf不会像原来那样尊重Cookie。

我该如何做到这一点?

+1

只是为了阻止更多的萎靡不振:**自应答不仅是允许的,但[特别鼓励(HTTPS:/ /*.com/help/self-answer)**。请不要标记此类帖子以供版主注意,也不要因为使用了专门用于分享知识的功能而对作者反省。 –

您需要的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); 
}