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

 

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

(CS2007) Δημιουργία μηνύματος σε forum από άλλο application

Îåêßíçóå áðü ôï ìÝëïò Mitsaras. Τελευταία δημοσίευση από το μέλος Mitsaras στις 14-12-2007, 09:43. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  13-12-2007, 12:44 38306

    (CS2007) Δημιουργία μηνύματος σε forum από άλλο application

    Καλημέρα!

    Έχω ένα asp.net application, και μια εγκατάσταση του CS2007 (latest build) σε διαφορετικά IIS web-sites. Θέλω λοιπόν, από το πρώτο application να μπορώ να δημιουργήσω ένα forum post στον Community Server.

    Η πρώτη μου σκέψη ήταν να χρησιμοποιήσω το κατάλληλο stored procedure από την βάση του CS. Ωστόσο η σκέψη αυτή απορρίφθηκε αμέσως γιατί δεν υπάρχει λόγος το πρώτο application να μπλέκει με την βάση του CS (και έχω αμφιβολίες κατά πόσον το απαραίτητο business logic βίσκεται ολόκληρο στο s.proc).

    Μετά σκέφτηκα να δημιουργήσω ένα HttpHandler, το οποίο θα γίνει register στο web.config του CS, και  θα δέχεται τα απαραίτητα ορίσματα (μέσω POST) για να δημιουργήσει το μήνυμα. Έκανα μια υλοποίηση η οποία δουλεύει χωρίς πρόβλημα. Από πλευράς security έχω περιορίσει τις IP στις οποίες θα απαντάει ο handler, κωδικοποιώ τα ορίσματα με Rijndael, και κάνω user authentication & authorization από την πλευρά του handler μέσω των APIs του CS.

    Ωστόσο, μήπως υπάρχει καλύτερος τρόπος; Ή, ακόμα χειρότερα, μήπως κάποια τέτοια δυνατότητα είναι ήδη διαθέσιμη από τον Community Server;

    Μην αφήνετε τα media να σας "ταΐζουν"!
    Δημοσίευση στην κατηγορία: ,
  •  13-12-2007, 20:50 38327 σε απάντηση της 38306

    Απ: (CS2007) Δημιουργία μηνύματος σε forum από άλλο application

    Anyone?
    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  13-12-2007, 23:08 38331 σε απάντηση της 38327

    Απ: (CS2007) Δημιουργία μηνύματος σε forum από άλλο application

    Δυστυχώς δεν μπορείς να χρησιμοποιήσεις το object framework του CS έξω από την εφαρμογή του. Ο CS έρχεται με μερικά web services, κυρίως για την εξηπηρέτηση του weblogging  - περισσότερα θα υπάρξουν στην επόμενη έκδοση για την διαχειρισή του από remote/τρίτες εφαρμογές.

    Οπότε ουσιαστικά περιορίζονται οι επιλογές σου - μπορείς να χρησιμοποιήσεις κατευθείαν την βάση και τα store procedures της, αλλά σε αυτή την περίπτωση δεν θα έτρεχε το bussiness logic του forum - π.χ. δεν θα έφευγαν τα e-mails προς αυτούς που έχουν δηλώσει να παρακολουθούν τις συζητήσεις αν ήθελες να δημοσίευες ένα νέο μήνυμα.

    Άλλη επιλογή ήταν να φτιάξεις κάτι μέσα στην εφαρμογή του Community Server. Είτε σελίδα, είτε web-service, είτε handler. Δεν είναι κακή η επιλογή σου.

    Αντί να έχεις αυτό το περιορισμό για τα IPs, θα μπορούσες να κοιτάξεις το "κολπάκι" που κάνει ο CS με τα private RSS - προσθέτει ένα hex αναγνωριστικό στο query string, και μπορεί με αυτό να καταλάβει ποιος είναι ο χρήστης. Θα μπορούσες να χρησιμοποιήσεις αυτό το μηχανισμό για να καταλάβεις ότι ο χρήστης που κάνει το post δεν είναι fake, και από εκεί και πέρα να χρησιμοποιήσεις το security infrastructure για να δώσεις πρόσβαση την υπηρεσία σου - να μπορούν να την χρησιμοποιούν μόνο χρήστες που ανήκουν σε ένα συγκεκριμένο security group.

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  14-12-2007, 09:43 38342 σε απάντηση της 38331

    Απ: (CS2007) Δημιουργία μηνύματος σε forum από άλλο application

    Σ' ευχαριστώ για την απάντηση.

    Στο HttpWebRequest που πραγματοποιώ από την πλευρά του άλλου application στέλνω μεταξύ άλλων και το username & password κωδικοποιημένα με Rijndael (και έπειτα ακολουθεί authentication και authorization). Απλώς περιορίζω τις IP, ώστε το HttpHandler να αρνηθεί στα γρήγορα μία σύνδεση, χωρίς να χρειαστεί να κάνει αποκωδικοποίηση και μετά authentication.

    Μην αφήνετε τα media να σας "ταΐζουν"!
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems