ورود

View Full Version : حرفه ای: مشکل دسترسی asp mvc



bahar0011
جمعه 05 دی 1393, 16:56 عصر
سلام

من از کامپوننت Rotativa برای خروجی pdf در گزارشات استفاده کردم این کامپوننت در یک حالت میتونه ActionResult خاصی رو بگیره و view متناظر با اون actionResult خاص رو به صورت pdf برگردونه بدون هیچ تغییری
یه اکشن به صورت جنرال تعریف کردم که مسئول تولید خروجی pdf هست ، به صورت زیر


public ActionResult AsPdf(string actionName, string fileName, string uniqId)
{
try
{
var u = User.Identity.Name;
var routeValue = System.Web.HttpContext.Current.Cache[uniqId];

var r= new ActionAsPdf(actionName, routeValue) {FileName = fileName + ".pdf", PageSize = Size.A4};
return r;
}
catch
{
return null;
}
}

الان مشکلم اینه که Action خاصی که خروجی گزارش رو برمیگردونه دارای دسترسی با role ادمین هست وقتی این خط کد اجرا میشه new ActionAsPdf و سیستم با استفاده از کامپوننت می خواهد که پی دی اف را اجرا کند به صفحه لاگین redirect میشود و خروجی pdf صفحه لاگین هست !!!

قبلا هم از این کامپوننت استفاده کردم اما سطح دسترسی که الان دارم استفاده میکنم Microsoft.AspNet.Identity هست
خیلی سرچ کردم وقتی از طریق برنامه درخواستی به اون اکشن فرستاده میشه خود web server کاربری متفاوت از کاربری که اولین درخواست رو فرستاده میباشد
در حقیقت این منطقیه که این کاربر authorize نباشه ، اما من نمیدونم که دسترسی رو چطور تغییر بدم که این اتفاق نیفته یا این که به web server هم دسترسی بدم

خواهش میکنم کمکم کنید خیلی وقته دارم سرچ میکنم :(

ممنون

اینم یه لینکه که جواب گرفته

https://github.com/webgio/Rotativa/issues/50