Επίκληση SSRS υπηρεσίες Web από WSS / ΒΡΎΑ σε περιβάλλον FBA

Έπρεπε να επικαλεστεί την CreateSubscription"" μέθοδος σε μια SSRS υπηρεσία web που φιλοξενείται σε μια FBA κατάφερε ΒΡΎΑ περιβάλλον από ένα μέρος του Ιστού συνήθειας. Γινόταν όλο και παραλλαγές της:

  • 401: Δεν επιτρέπεται
  • Αντικείμενο μετακινηθεί

Το «αντικείμενο μετακινηθεί" μήνυμα ήταν πιο ενδιαφέρον, επειδή έλεγε ότι το αντικείμενο"" (η υπηρεσία μας SSRS) μετακινήθηκε"" να login.aspx. Αυτό σαφώς θα σήμαινε είχαμε κάποιο πρόβλημα ελέγχου ταυτότητας.

Τελικά, συνειδητοποίησα ότι είχα σελιδοδείκτη ένα blog εισόδου από Robert σοφίτας που περιγράφεται το πώς να επικαλείται μια υπηρεσία Ιστού WSS/MOSS γενικής χρήσης που ζουν μέσα σε ένα περιβάλλον FBA. Σημειώστε ότι δεν μπορώ να συνδέσω άμεσα με το άρθρο (ως της 06/09/08) επειδή θέλει να τον έλεγχο ταυτότητας. Η σύνδεση που παρέχω σας φέρνει σε μια «όλες οι θέσεις" Προβολή και μπορείτε να εντοπίσετε το συγκεκριμένο άρθρο κάνοντας αναζήτηση για "Υπηρεσίες Web ΒΡΎΑ πρόσβαση χρησιμοποιώντας έλεγχο ταυτότητας βάσει φορμών".

Εδώ είναι ο κώδικας που εργάστηκε για μας:

ReportingService2006 rs = τιμή null; 
// Έλεγχος ταυτότητας ΑΠΘ ελέγχου ταυτότητας = νέα Έλεγχος ταυτότητας(); 
α.π.θ.URL = "http://URL/_vti_bin/Authentication.asmx";
α.π.θ.CookieContainer =
νέα CookieContainer();
LoginResult αποτέλεσμα = α.π.θ.Σύνδεση(«userid», "κωδικός πρόσβασης");
Αν (αποτέλεσμα.Κωδικός σφάλματος == LoginErrorCode.NoError) 
{
// Κανένα λάθος, Έτσι, πάρτε τα cookies.
Μπισκότα CookieCollection = α.π.θ.CookieContainer.GetCookies(νέα URI(α.π.θ.URL));
Cookie authCookie = τα cookies[αποτέλεσμα.CookieName];
RS =
νέα ReportingService2006();
RS.URL =
"http://Server/_vti_bin/ReportServer/ReportService2006.asmx";
RS.CookieContainer =
νέα CookieContainer();
RS.CookieContainer.Add(authCookie);
}
Δοκιμάστε
{
  RS.CreateSubscription(έκθεση, extSettings, Desc, eventType, matchData, parameters1);
}
αλιευμάτων (Εξαίρεση πρώην)
{
  Console.WriteLine(πρώην.Message.ToString());
}

Ερμηνεύω τα πράγματα στην εργασία όπως αυτό:

  • Μας το τμήμα web πρέπει να καλέσετε την υπηρεσία ελέγχου ταυτότητας και να πω, "Γεια σου, Tony, είναι μου!".
  • Υπηρεσία ελέγχου ταυτότητας απαντά λέγοντας, "Γεια σου, Ξέρω ότι. Πώς είναι τα παιδιά? Εδώ είναι ένα διακριτικό."
  • Μπορούμε να καλέσετε την υπηρεσία SSRS και να πούμε, «Tony μου έστειλε, Εδώ είναι το διακριτικό."

</Τέλος>

Εγγραφείτε στο blog μου.

Αφήνω μια απάντηση

Η διεύθυνση email σας δεν θα δημοσιευθεί. τα απαιτούμενα πεδία είναι επισημασμένα *