当使用SSRS技术来布置报表,可能使用MS自带的ReportViewer控件来读取报表.

它分为Web和Windows两种版本;此处Web版.

ServerReport.ReportServerCredentials属性的类型为Microsoft.Reporting.WebForms.IReportServerCredentials,它可提供三种认证方式所需的证书(Credential):

1) Form认证证书(GetFormsCredentials);

2) 扮演认证证书(ImpersonationUser);

3) 网络认证证书(NetworkCredentials).

当报表的服务器端使用网络认证时,需要实现NetworkCredentials接口,而且必须将GetFormsCredentials()接口的返回值设置为False,否则会导致论证失败.

示例代码如下:

代码

 1   ''' <summary>
 2     ''' Initialize report viewer
 3     ''' </summary>
 4     ''' <remarks>Viewer是ReportViewer的一个实例</remarks>
 5     Protected Overridable Sub LoadReportViewer()
 6         With Viewer
 7             .Visible = True
 8             .ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote
 9             .ServerReport.ReportServerUrl = New Uri(<报表服务器的URL>)
10             .ServerReport.ReportPath = <报表相对于ReportServerUrl的路径>
11             .ServerReport.ReportServerCredentials = <IReportServerCredentials的实例>
12             .ShowParameterPrompts = False
13         End With
14     End Sub
15 
16 
17    ''' <summary>
18     ''' Internal implementation for report server credentails.
19     ''' </summary>
20     ''' <remarks></remarks>
21     Public Class ReportServerCredentials
22         Implements IReportServerCredentials
23 
24         Private _Domain As String
25         Private _Password As String
26         Private _UserName As String
27 
28         Public Sub New()
29             Me.New(Nothing, Nothing, Nothing)
30         End Sub
31 
32         Public Sub New(ByVal userName As String, ByVal password As String)
33             Me.New(userName, password, Nothing)
34         End Sub
35 
36         Public Sub New(ByVal userName As String, ByVal password As String, ByVal domain As String)
37             _UserName = userName
38             _Password = password
39             _Domain = domain
40         End Sub
41 
42         Public Property Domain() As String
43             Get
44                 Return _Domain
45             End Get
46             Set(ByVal value As String)
47                 _Domain = value
48             End Set
49         End Property
50 
51         Public Property Password() As String
52             Get
53                 Return _Password
54             End Get
55             Set(ByVal value As String)
56                 _Password = value
57             End Set
58         End Property
59 
60         Public Property UserName() As String
61             Get
62                 Return _UserName
63             End Get
64             Set(ByVal value As String)
65                 _UserName = value
66             End Set
67         End Property
68 
69         Public Function GetFormsCredentials(ByRef authCookie As System.Net.Cookie, ByRef userName As String, ByRef password As String, ByRef authority As String) As Boolean Implements Microsoft.Reporting.WebForms.IReportServerCredentials.GetFormsCredentials
70         '---注意此处必须设置为False,否则论证为失败
71             Return False
72         End Function
73 
74         Public ReadOnly Property ImpersonationUser() As System.Security.Principal.WindowsIdentity Implements Microsoft.Reporting.WebForms.IReportServerCredentials.ImpersonationUser
75             Get
76                 Return Nothing
77             End Get
78         End Property
79 
80         Public ReadOnly Property NetworkCredentials() As System.Net.ICredentials Implements Microsoft.Reporting.WebForms.IReportServerCredentials.NetworkCredentials
81             Get
82                 Return New System.Net.NetworkCredential(Me.UserName, Me.Password, Me.Domain)
83             End Get
84         End Property
85     End Class

转载于:https://www.cnblogs.com/beiguren/archive/2010/01/18/1650709.html

ReportViewer中设置ServerReport.ReportServerCredentials属性的方法(WEB版)相关推荐

  1. HTML中DOM对象的属性和方法的层级关系是怎样的?(目录即层次)

    HTML中DOM对象的属性和方法的层级关系是怎样的?(目录即层次) 一.总结 一句话总结:目录就是测试题 1.document取得元素(get element)的方式有哪几种? 解答:四种,分别是id ...

  2. vb中WindowsMediaPlayer的常用属性和方法

    vb中WindowsMediaPlayer的常用属性和方法 enableContextMenu:Boolean 显示/不显示播放位置的右键菜单 fullScreen:boolean 全屏显示 stre ...

  3. PrintDocument打印、预览、打印机设置和打印属性的方法(较完整)

    C# 中打印.预览.打印机设置和打印属性的方法http://www.veryhuo.com 2011-10-08 烈火学院 投递稿件 我有话说private void Form1_Load(objec ...

  4. vue3-video-play视频组件的使用(一)——基本使用 HTML5中Video标签的属性、方法和事件汇总

    vue3-video-play视频组件的使用(一)--基本使用 & HTML5中Video标签的属性.方法和事件汇总 npm地址:https://www.npmjs.com/package/v ...

  5. win10计算机管理里用户,在Windows10中设置Administrators管理员用户组的方法

    Administrators是管理员用户组,它是Win10系统中权限最大的一个组,我们可以把想给予管理员权限的用户放到这个组里,之后,组内的用户可以进行所有涉及权限的操作,如修改用户密码.创建新用户. ...

  6. 在Qt中设置鼠标光标形状的方法介绍

    本文主要介绍在 Qt 中设置鼠标光标形状的方法. 说明: 本文中的应用程序是面向 Windows 操作系统的: 本文中使用的 Qt Creator 版本号为:7.0.0: 本文中使用的 Qt 版本号为 ...

  7. python程序设置_Windows系统中设置Python程序定时运行方法

    Windows系统中设置Python程序定时运行方法 一.环境 win7 + Python3.6 二.步骤 1,在Windows开始菜单中搜索"计划任务",并且点击打开" ...

  8. Ubuntu 中设置源的几种方法

    来源:http://forum.ubuntu.org.cn/viewtopic.php?t=177997 九.设置源 作者:Teliute 来源:基础教程网 Ubuntu里的许多应用程序软件包,是放在 ...

  9. word整个表格首行缩进_Word2016中设置首行缩进的方法

    缩进决定了段落到左右页边距的距离.在Word 2016中,可以使用首行缩进.左缩进.右缩进和悬挂缩进来设置段落的缩进方式.本文介绍了Word2016中设置首行缩进的方法. 默认输入的文档内容都是顶行输 ...

最新文章

  1. 游戏开发论坛_OPPO开发者大会前瞻:见证OPPO智能服务新生态
  2. 一个web.Config或app.Config自定义段configSections的示例
  3. 导出的swf文件显示 不出来地图
  4. kcp 协议分析 基于udp的可靠协议
  5. 时间序列分析及应用r语言pdf_R语言:时间序列经典分析法(二)
  6. 专访:Vmware眼中的虚拟化
  7. python 24点 tkinter_python_Tkinter使用过程中的一些小的总结
  8. 软键盘遮挡住popupWindow问题
  9. 分区字段必须包含在主键字段_十年Java开发经验分享:24 个必须掌握的数据库面试问题...
  10. 使用seaborn制图(箱型图)
  11. 四、分布式账本技术对比
  12. WCDMA为什么上行是干扰受限,下行是功率受限
  13. 福州计算机专业的大学的校徽,如此好看的大学LOGO,有你的母校吗?
  14. 2017个人年终总结
  15. 小米路由器mini刷linux,xiaomi mini路由器安装breed和openwrt固件
  16. 20170306 小兵的觉悟就是好好吃饭
  17. 无线智能报警暨家电控制
  18. 关于大三学生的请教回复
  19. 最新江苏安全员B考试判断练习题库
  20. MySQL这一章就够了(一)

热门文章

  1. composer update 无法执行命令原因及解决方法
  2. java httpclient 跨域_13、HttpClient服务器跨域请求
  3. pandas plot label_Python+Pandas | 分析比特币与股票市场的关系
  4. Linux笔记-利用chkconfig创建脚本使得Rabbimq开机自启
  5. Arduino学习笔记-新的按键控制方式
  6. Qt + Python + OpenCV图标替换工具 之 获取颜色及生成图片(二)
  7. Struts2 访问上下问对象
  8. 数据结构-线性相关代码
  9. C/C++ OpenCV之Laplacian边缘检测
  10. php导出csv带图片,PHP导出CSV文件:刚测试过,这个导出CSV可以