我正在使用带有自定义安全框架的自定义.Net应用程序。除此之外,该框架还允许用户身份验证无缝传递到SQL Server Reporting Services,以便在查看器中访问报表。但是,我收到某些用户的以下错误:
2013-07-03 11:43:00,580 Default.Page_Load(:0) - 已初始化 ReportServer网址:“https://www.DOMAIN.com/ReportServer”2013-07-03 11:43:00,696 ReportNavigation.LoadReportCatalog(:0) - 同时出错 从Web服务异常访问报告目录: System.Net.CookieException消息:cookie的值大小是 ” .ActionSecurity = AAEAAAD_ _ _AQAAAAAAAAAMAgAAAE1TeXN0ZW0uV2ViLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQUBAAAALVN5c3RlbS5XZWIuU2VjdXJpdHkuRm9ybXNBdXRoZW50aWNhdGlvblRpY2tldAkAAAAIX1ZlcnNpb24FX05hbWULX0V4cGlyYXRpb24KX0lzc3VlRGF0ZQ1fSXNQZXJzaXN0ZW50CV9Vc2VyRGF0YQtfQ29va2llUGF0aBBfSW50ZXJuYWxWZXJzaW9uDV9JbnRlcm5hbERhdGEAAQAAAAEBAAcIDQ0BCAICAAAAAQAAAAYDAAAADy5BY3Rpb25TZWN1cml0eQC1nPAlRtBIAHnk1vdF0IgBBgQAAAC4GEFBRUFBQURfX19fX0FRQUFBQUFBQUFBTUFnQUFBRTlEWVdsMGFHNWxjM05OVFM1WFpXSXVVMlZqZFhKcGRIa3NJRlpsY25OcGIyNDlNUzR3TGpBdU1Dd2dRM1ZzZEhWeVpUMXVaWFYwY21Gc0xDQlFkV0pzYVdOTFpYbFViMnRsYmoxdWRXeHNEQU1BQUFCTlUzbHpkR1Z0TGxkbFlpd2dWbVZ5YzJsdmJqMDBMakF1TUM0d0xDQkRkV3gwZFhKbFBXNWxkWFJ5WVd3c0lGQjFZbXhwWTB0bGVWUnZhMlZ1UFdJd00yWTFaamRtTVRGa05UQmhNMkVGQVFBQUFEQkRZV2wwYUc1bGMzTk5UUzVYWldJdVUyVmpkWEpwZEhrdVFXTjBhVzl1VTJWamRYSnBkSGxRY21sdVkybHdZV3dJQUFBQUNWOXBaR1Z1ZEdsMGVRaGZkbVZ5YzJsdmJndGZaWGh3YVhKbFJHRjBaUXBmYVhOemRXVkVZWFJsRFY5d2NtOTJhV1JsY2s1aGJXVUpYM1Z6 WlhKT1lXMWxFMTlwYzBGamRHbHZia ......“。 这超出了配置的最大大小,即“4096”。 资源: 系统在System.Net.CookieContainer.Add(Cookie cookie,布尔 在System.Net.CookieContainer.Add(Cookie cookie)的throwOnError) 在APPNAMEMM.Reporting.WebServiceClient.ReportServerProxy.GetCookies() 在 d:\ APPNAME \代码\核心\ APPNAMEMM.Reporting.WebServiceClient \ ReportServerProxy.cs:行 131点 APPNAMEMM.Reporting.WebServiceClient.ReportServerProxy.GetWebRequest(URI uri)in d:\ APPNAME \代码\核心\ APPNAMEMM.Reporting.WebServiceClient \ ReportServerProxy.cs:行 71点 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串 methodName,Object [] parameters)at APPNAMEMM.Reporting.WebServiceClient.ReportingService.ReportingService2005.ListChildren(字符串 Item,Boolean Recursive)in d:\ APPNAME \代码\核心\ APPNAMEMM.Reporting.WebServiceClient \ WEB 参考文献\ ReportingService \ Reference.cs:第871行 APPNAMEMM.Reporting.WebServiceClient.ReportCatalogService.GetCatalogItemList(字符串 路径) d:\ APPNAME \代码\核心\ APPNAMEMM.Reporting.WebServiceClient \ ReportCatalogService.cs:行 162点 APPNAMEMM.Reporting.WebServiceClient.ReportCatalogService.GetReportList(字符串 path,Boolean showHidden,String subFolder)in d:\ APPNAME \代码\核心\ APPNAMEMM.Reporting.WebServiceClient \ ReportCatalogService.cs:行 116点 APPNAMEMM.Reporting.WebServiceClient.ReportCatalogService.GetReportList(字符串 path,Boolean showHidden)in d:\ APPNAME \代码\核心\ APPNAMEMM.Reporting.WebServiceClient \ ReportCatalogService.cs:行 108点 APPNAMEMM.Reporting.WebServiceClient.ReportCatalogService.GetReportList(字符串 路径) d:\ APPNAME \代码\核心\ APPNAMEMM.Reporting.WebServiceClient \ ReportCatalogService.cs:行 81在ReportNavigation.LoadReportCatalog()
2013-07-03 11:43:00,749 ASP.global_asax.Application_Error(:0) - 一个 发生意外错误。 (URL:/ Income Reports / Default.aspx
表单字段:例外: System.Configuration.Provider.ProviderException消息:无法 检索此操作的当前HttpContext。资源: APPNAMEMM.Web.Security at APPNAMEMM.Web.Security.ActionSecurity.DeleteCookie()in d:\ APPNAME \代码\核心\ APPNAMEMM.Web.Security \ ActionSecurityProvider \ ActionSecurity.cs:行 265 APPNAMEMM.Web.Security.ActionSecurityModule.OnLeave(Object 发件人,EventArgs e)in d:\ APPNAME \代码\核心\ APPNAMEMM.Web.Security \ ActionSecurityProvider \ ActionSecurityModule.cs:行 192.在System.Web.HttpApplication.RaiseOnPreSendRequestHeaders()
我已经尝试根据包括http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits和http://bartwullems.blogspot.com/2010/04/uploading-large-files-in-iis-7.html
在内的一些建议更改app和ReportServer和ReportManager文件夹中的web.config但是,我仍然收到错误消息,用户无法访问报告。我还需要做些什么吗?感谢。
答案 0 :(得分:2)
你们两个都设置好了吗? http://forums.iis.net/t/1169846.aspx
但是您收到的是CookieException,而不是最大请求限制异常。以上设置与cookie没有任何关系。它们指的是文件上传到服务器。
好像你想把4K塞进一个cookie。如果是这样,你就不能......这是一个系统限制What is the maximum size of a web browser's cookie's key? ..实际上你的里程可能因浏览器而异,但如果你在cookie中设置4K,你可能需要改变策略,比如切换到会话。
对N°3说是吗?你可以在这里纠正错误..但是你仍然可能遇到问题N°3: - )
取自你自己的stacktrace This exceeds the configured maximum size, which is '4096' ... at System.Net.CookieContainer.Add(Cookie cookie) ... ReportServerProxy.cs:line 131
var container = new System.Net.CookieContainer {
MaxCookieSize = 8192
};
container.Add(new System.Net.Cookie {
Value = "somehugevalue"
});
答案 1 :(得分:0)
localStorage
限制时,您可以使用CookieStore
。
代码示例:
localStorage.setItem('ActionSecurity', '[largevalue]');
localStorage.getItem('ActionSecurity');