所以,我有一個使用[Authorize]
符號與單個管理員帳戶(一個管理員控制器內容管理目的)。如果管理員未登錄,則會將用戶重定向到登錄視圖。試圖給我們Rotativa產生從控制器/查看PDF,但安全restictions不讓Rotativa訪問所需的控制器
在管理控制器,我有這樣的ActionResult:
public ActionResult GeneratePDF(int? id) {
return new ActionAsPdf("PrintOrder/" + id) {
FileName = Server.MapPath("~/PDF/test.pdf")
};
}
上面的代碼是目前用於測試目的,並會在以後修改。
但是,當我從View
(以管理員身份登錄時)調用ActionResult時,它僅生成登錄視圖的PDF,就好像沒有有效的管理會話並且用戶被重定向一樣。使用上PrintOrder ActionResult
的[AllowAnonymous]
符號的時候,而不是當需要一個有效的用戶會話的代碼工作。
關於如何讓ActionAsPdf
方法訪問所需的PrintOrder方法並仍由[Authorize]
表示法保護的任何想法?
我打電話從查看操作如下:
<a href="@Url.Action("GeneratePDF", "Admin", new { id = item.ID })">Get PDF</a>