注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

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

2012-02-10 14:42:32|  分类: asp.net |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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

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


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

 1) Form认证证书(GetFormsCredentials);

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

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

 

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

 示例代码如下:

 

ReportViewer中设置ServerReport.ReportServerCredentials属性的方法(WEB版) - 海里的贝壳 - apple的博客代码
 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(NothingNothingNothing)
30         End Sub
31 
32         Public Sub New(ByVal userName As StringByVal password As String)
33             Me.New(userName, password, Nothing)
34         End Sub
35 
36         Public Sub New(ByVal userName As StringByVal password As StringByVal 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 StringByRef password As StringByRef authority As StringAs 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
转载:http://www.cnblogs.com/beiguren/archive/2010/01/18/1650709.html
  评论这张
 
阅读(635)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017