Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

ReportViewer Control . Πως θα προσθεσω τα credentials του remote server ??

Îåêßíçóå áðü ôï ìÝëïò Letmefly. Τελευταία δημοσίευση από το μέλος Letmefly στις 28-02-2007, 19:28. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  28-02-2007, 17:54 25633

    ReportViewer Control . Πως θα προσθεσω τα credentials του remote server ??


    Kαλησπερα , εχω φτιαξει μια σελιδα στο visual studio για πειραματισμο) οπου περιεχει ενα reportviewer control .

    To report μου ειναι ανεβασμενο σε remote server και τρεχει κανονικα.

    Επισης στα properties toy reportviewer control εχω θεσει  τα
    processingMode = Remote
    ReportPath = Το path που βρισκεται στο Sql Server Reporting services στο remote server   (Σιγουρα σωστο)
    ReportServerUrl = την διευθυνση του server πχ http://servername/Reports                        (Σιγουρα σωστο)

    Το προβλημα μου ειναι οτι ο server εχει authorization  πχ username = "administrator"  password = "mypassword"
    και δε μπορω να βρω πως  να προσθεσω τα credentials στο reportviewer control .

    Ετσι οταν τρεχω τη σελιδα μου εμφανιζει

    The requested failed with HTTP status 401 : Unauthorized

    Σημειωση : Δε με ενδιαφερει αυτη τη στιγμη να εχω roles ή cookies authentication και γενικα καποιου ειδους security , θελω απλα η σελιδα να εμφανιζει το report μεσω του reportviewer control





  •  28-02-2007, 19:28 25646 σε απάντηση της 25633

    Απ: ReportViewer Control . Πως θα προσθεσω τα credentials του remote server ??

    Παραθετω την λυση σε περιπτωση που τη χρειαστει ποτε κανεις...
    Πρεπει να γινει implement το IReportServerCredentials interface...
    Το id του reportViewer ειναι MyreportViewer . Κ ειμαστε στην περιπτωση oπου processing Mode = Remote




    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Net;
    using System.Security.Principal;
    using Microsoft.Reporting.WebForms;


    public partial class Reports : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)


        {
     
         MyReportViewer.ServerReport.ReportPath = "το path που βρισκεται το report px /Myfolder/Myreport";
         MyReportViewer.ServerReport.ReportServerUrl = new Uri("http://το ονομα του server/ReportServer");
         MyReportViewer.ServerReport.ReportServerCredentials = new ReportServerCredentials("myusername", "mypassword", "remote server name");
            
        }



        public class ReportServerCredentials : IReportServerCredentials
        {
            private string _userName;
            private string _password;
            private string _domain;

            public ReportServerCredentials(string userName, string password, string domain)
            {
                _userName = userName;
                _password = password;
                _domain = domain;
            }

            public WindowsIdentity ImpersonationUser
            {
                get
                {
                    // Use default identity.
                    return null;
                }
            }

            public ICredentials NetworkCredentials
            {
                get
                {
                    // Use default identity.
                    return new NetworkCredential(_userName, _password, _domain);
                }
            }

            public bool GetFormsCredentials(out Cookie authCookie, out string user, out string password, out string authority)
            {
                // Do not use forms credentials to authenticate.
                authCookie = null;
                user = password = authority = null;
                return false;
            }
        }
    }

    Oι περισσοτερες μεθοδοι επιστρεφουν false ή nυll εκτος απο την NetWorkCredentials  ( θελουμε οποιοσδηποτε να εχει αccess στο report server στο συγκεκριμενο report..Δε λαμβανουμε υποψιν cookies , roles κτλ)
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems