ReportViewer1.ServerReport.ReportServerUrl = new Uri(System.Configuration.ConfigurationManager.AppSettings["ReportServerURL"].ToString());
ReportViewer1.ServerRepor.ReportPath = "/" + System.Configuration.ConfigurationManager.AppSettings["ReportFolderName"].ToString() + "/ReportName";
ReportParameter[] myparam = new ReportParameter[2];
myparam[0] = new ReportParameter("UserId", Session["UserID"].ToString().Trim());
myparam[1] = new ReportParameter("Role", Session["ColumnHide"].ToString().Trim());
ReportViewer1.ServerReport.SetParameters(myparam);
ReportViewer1.ServerReport.Refresh();
Also we have to add the code in the aspx.cs page.
protected void Page_Init(object sender, EventArgs e)
{
ReportViewer1.ServerReport.ReportServerCredentials =
new MyReportServerCredentials();
}
[Serializable]
public sealed class MyReportServerCredentials :
IReportServerCredentials
{
public WindowsIdentity ImpersonationUser
{
get
{
// Use the default Windows user. Credentials will be
// provided by the NetworkCredentials property.
return null;
}
}
public ICredentials NetworkCredentials
{
get
{
// Read the user information from the Web.config file.
// By reading the information on demand instead of
// storing it, the credentials will not be stored in
// session, reducing the vulnerable surface area to the
// Web.config file, which can be secured with an ACL.
// User name
string userName =
ConfigurationManager.AppSettings
["MyReportViewerUser"];
if (string.IsNullOrEmpty(userName))
throw new Exception(
"Missing user name from web.config file");
// Password
string password =
ConfigurationManager.AppSettings
["MyReportViewerPassword"];
if (string.IsNullOrEmpty(password))
throw new Exception(
"Missing password from web.config file");
// Domain
string domain =
ConfigurationManager.AppSettings
["MyReportViewerDomain"];
if (string.IsNullOrEmpty(domain))
throw new Exception(
"Missing domain from web.config file");
return new NetworkCredential(userName, password, domain);
}
}
public bool GetFormsCredentials(out Cookie authCookie,
out string userName, out string password,
out string authority)
{
authCookie = null;
userName = null;
password = null;
authority = null;
// Not using form credentials
return false;
}
}
Information:
In web.config file , we have to add this code in
<configuration>
<appSettings>
<add key="ReportFolderName" value="Test_Reports" />
<add key="MyReportViewerUser" value="TestUser" />
<add key="MyReportViewerPassword" value="TestPassword" />
<add key="MyReportViewerDomain" value="YourDomainName" />
</appSettings>
</configuration>
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment