日期:2014-05-19  浏览次数:20623 次

水晶报表的权限问题,大家进来帮下忙
vs2003(c#)开发的asp.net应用程序,用的水晶报表10来打印报表。数据库是oracle9i。pull模式获取数据。web服务器虚拟目录的文件格式是ntfs,administrator,aspnet,everyone对该文件夹有完全控制权限,iis配置启用了匿名用户,允许iis控制用户名和密码,集成windows身份验证。用户访问网页时没有问题,调用水晶报表时会提示输入用户名和密码(不是登陆数据库的,是window弹出的),取消的话可以显示,但导出,打印等功能都不管用。

下面的是一些题外话:
说一下今天的过程吧,希望有类似情况的朋友可以借鉴一下*_*,今天去用户单位去检查打印问题,到网上查了下相关资料,然后到技术科找人进了服务器房间,反复解释下,管理人员才同意我把asp.net和everyone用户赋予了完全控制权限。改完了马上就跑出去了(服务器的浏览器控制的不能打开网页,我也不知道上一为什么),到使用单位去试了下,还是老样子。忽然想到忘了重启iis了!!!返回到那里,联系了管理员又进去重新启动了iis服务。然后又到使用单位,这下更惨了,主页都打不开了!!!然后又返回,找管理员进了服务器房间,检查了下iis设置,发现iis程序配置下不是应用程序了,把程序删除,然后建立。回去测试,总算可以进去了(冷汗一身啊)。不过水晶报表仍然提示输入身份认证。唉,这个破东西,因为它我都跑了不知道多少路了。

另:公司没有模拟的各种机器环境,一般程序开发完几台配置相仿的机器草草测试通过就算可以了。发布后出现的问题可真是多多啊。不同环境下的程序部署问题,真的应该引起开发人员重视,时间啊!好多都浪费到了这里。权限、文件系统...对于一直用管理员用户做开发的程序员,这些问题在开发时都被掩盖了。

------解决方案--------------------
出现访问水晶报表的时候弹出用户名,密码是因为windows检测到您访问的程序和你所在的是不在同一个区域,只要把它加入信任站点中,或者只要输入一次用户名密码,下次就不用再输入了