有图片,看看这个问题怎么解决?

cooolchen 2009-11-17 05:14:55
我调用Sqlserver2008中的ReportService2005.asmx。
NetworkCredential nc = new NetworkCredential(username, password);
rs.Credentials = nc;
CatalogItem[] list = rs.ListChildren("/", true);



获得了一个CatalogItem[]数组我把它绑定到一个ListBox中,并在页面中放了一个ReportViewer控件来显示报表。
当我选择任一项,打开报表时,出现:

The request failed with HTTP status 401: Unauthorized.


...全文
159 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
freefaery 2009-11-23
  • 打赏
  • 举报
回复
see
SQL77 2009-11-18
  • 打赏
  • 举报
回复
00
阿泰 2009-11-18
  • 打赏
  • 举报
回复
ReportService的问题,我帮你转到BI区看下吧。
图表区用这个的朋友不是很多 :)
zzxap 2009-11-18
  • 打赏
  • 举报
回复
http://www.cnblogs.com/babyt/archive/2005/04/07/133399.html
cupwei 2009-11-18
  • 打赏
  • 举报
回复
http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=323214
cooolchen 2009-11-18
  • 打赏
  • 举报
回复
cooolchen 2009-11-17
  • 打赏
  • 举报
回复
"这个问题是出现在.net 2.0、IIS5的环境下在大部分的ASP.NET程序部署方案中"

sqlserver2008中不依赖于IIS。其内部有自己的webServer。(像vs,asp.net中的开发服务器)
cooolchen 2009-11-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zzxap 的回复:]
这个问题是出现在.net 2.0、IIS5的环境下在大部分的ASP.NET程序部署方案中,IIS的配置都会选择“目录................
  ws_obj.Credentials = System.Net.CredentialCache.DefaultCredentials;
[/Quote]

我需要的是根据用户名得到他可以看到的报表。

ws_obj.Credentials = System.Net.CredentialCache.DefaultCredentials;

你这句,那么任何人进去看到的报表都是一样的了。比如说一个普通员工看到薪资发放的明细报表。这显然是不被允许的。
那如何根据用户名得到属于他权限内的报表呢?
tkscascor 2009-11-17
  • 打赏
  • 举报
回复
根据英文提示, 1楼应该对的, 木有测试过,,
zzxap 2009-11-17
  • 打赏
  • 举报
回复
http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=323214
zzxap 2009-11-17
  • 打赏
  • 举报
回复
这个问题是出现在.net 2.0、IIS5的环境下在大部分的ASP.NET程序部署方案中,IIS的配置都会选择“目录安全性”为“匿名访问”,这样所有用户都可以轻松的访问WEB应用。我们也可以在WEB应用程序中,再调用WebService。
不过在有域(domain)的局域网中,有时会需要WEB应用识别用户的身份,这时的IIS配置,就不能选择“匿名访问”了,而要选择“windows域服务器身份验证”,并且要选择一个默认的域。做了这样的修改以后,再要访问这个WEB应用,就必须输入域用户和密码了。当然你也可以把当前的站点添加到“受信任站点”里面,IE会自动帮你登录。这时问题出现了,在使用调用了WebService的功能的时候,页面提示异常:请求因 HTTP 状态 401 失败:Unauthorized。
这个问题的主要原因是,WEB应用没有把当前的凭据传给WebService,而WebService也需要用户的身份信息,因此报了“未授权”的错误。只要把WebService的实例对象的Credentials属性重新设置,问题解决了。
ws_obj.Credentials = System.Net.CredentialCache.DefaultCredentials;

588

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧