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

 

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

HttpHandlers WebAdmin.axd και Remote Administration ASP.NET 2.0

Îåêßíçóå áðü ôï ìÝëïò SValsamis. Τελευταία δημοσίευση από το μέλος SValsamis στις 29-09-2006, 15:00. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  29-09-2006, 14:26 17511

    HttpHandlers WebAdmin.axd και Remote Administration ASP.NET 2.0

    Αρκετό καιρό τώρα εξερευνώντας τις δυνατότητες του ASP.NET 2.0, μέσα στις πάρα πολλές καινοτομίες του, βρήκα αρκετά ενδιαφέρουσα καινοτομία το Administration Tool και γενικότερα τη δυνατότητα να γράφεις στο Web.Config μέσα από κώδικά. 

    Στην  Beta υπήρχε η δυνατότητα να καλέσουμε http://<myServer>/<myApplication>/WebAdmin.axd και να μπούμε στο Administation Tool που υπάρχει στο IDE (Web Site/ASP.Net Configuration). με σκοπό να μπορούμε να αλλάξουμε το Web.config όταν η εφαρμογή μας έχει εγκατασταθεί στον τελικό πελάτη.

    Τώρα όμως δεν γίνεται έτσι όπως στην Beta. Και αυτό γιατί λείπει το Class System.Web.Handlers.WebAdminHandler

    Μπορούμε όμως να το δημιουργήσουμε ως εξής:

    1)Δημιουργούμε στον IIS ένα Virtual Directory έστω WAdmin με Map path στο WINDOWS\Microsoft.NET\Framework\v2.χ.χχχχχ\ASP.NETWebAdminFiles όπυ βρίσκονται τα αρχεία του Web Administration Tool.

    2)Υλοποιούμε ένα Implementation του Interface IHttpHandler ώς εξής:

    Namespace System.Web.Handlers

          Public Class WebAdminHandler
          Implements IHttpHandler

             Public ReadOnly Property IsReusable() As Boolean _
                     
    Implements System.Web.IHttpHandler.IsReusable
                      
    Get
                            Return True
                      
    End Get

             End Property

             Public Sub ProcessRequest(ByVal context As System.Web.HttpContext) _
                         
    Implements System.Web.IHttpHandler.ProcessRequest

                         context.Response.Redirect(_ 
                           
    String.Format( _
                         
      "/WebAdmin/Default.aspx?applicationPhysicalPath={0}&applicationURL={1}", _ 
                           context.Server.MapPath(
    ""), _
                           
    context.Request.ApplicationPath)
                         )
             End Sub

       End Class
    End NameSpace

    3) Στο Web.config της εφαρμογής μας βάζουμε στο Section HttpHandlers ενα verb που να παραπέμπει στο WebAdminHandler που μόλις δημιουργήσαμε:

    <System.Web>
             <
    httpHandlers>
                      <
    add verb="*" path="WebAdmin.axd" type="System.Web.Handlers.WebAdminHandler"/>
             </
    httpHandlers><httpHandlers>

             .............
             .............
    </System.Web>

    Για να καλέσουμε το Administration Tool της εφαρμογής μας δίνουμε στον Browser την διεύθυνση http://<MyServer>/<MyApp>/WebAdmin.Axd

    * Για να μπορούμε να γράφουμε στο Web.config της εφαρμογής μας πρέπει να δώσουμε τα κατάλληλα Write permissions στο folder


    Σταύρος Βαλσάμης
    Προγραμματιστής
  •  29-09-2006, 14:28 17512 σε απάντηση της 17511

    Απ: HttpHandlers WebAdmin.axd και Remote Administration ASP.NET 2.0

     SValsamis wrote:

    1)Δημιουργούμε στον IIS ένα Active Directory


    να υποθέσω ότι εννοείς virtual???Smile

    Dimitris-Ilias Gkanatsios
    Developer Evangelist, Microsoft Hellas

    My Blog
    StudentGuru
    Twitter
    Facebook
  •  29-09-2006, 14:35 17513 σε απάντηση της 17512

    Απ: HttpHandlers WebAdmin.axd και Remote Administration ASP.NET 2.0

    εκ παραδρομής

    Ζητώ συγνώμη!

    Ναι εννοώ virtual.


    Σταύρος Βαλσάμης
    Προγραμματιστής
  •  29-09-2006, 14:36 17515 σε απάντηση της 17513

    Απ: HttpHandlers WebAdmin.axd και Remote Administration ASP.NET 2.0

    το διόρθωσα στο αρχικό post
    Σταύρος Βαλσάμης
    Προγραμματιστής
  •  29-09-2006, 14:38 17516 σε απάντηση της 17511

    Απ: HttpHandlers WebAdmin.axd και Remote Administration ASP.NET 2.0

    Να σε ρωτήσω, είναι secure αυτό που έκανες;

    Δηλ. όταν είχα δει ότι το είχανε 'φάει' μετά την beta, αυτός υπέθεσα ότι ήταν ο λόγος......
    Dimitris-Ilias Gkanatsios
    Developer Evangelist, Microsoft Hellas

    My Blog
    StudentGuru
    Twitter
    Facebook
  •  29-09-2006, 15:00 17521 σε απάντηση της 17516

    Απ: HttpHandlers WebAdmin.axd και Remote Administration ASP.NET 2.0

    Είναι πάρα πολύ σχετικό αυτό.
    Στην συγκεκριμένη περίπτωση έχει να κάνει με την υλοποίηση του IHttpHandler.

    ΠΧ
    Ενας από τους τρόπους που θα μπορούσε κανείς το προστατέψει, αν θέλει να δώσει permissions μόνο σε συγκεκριμένους Users του Lan που τρέχει η εφαρμογή, μπορείς να δώσεις τα αντίστοιχα permissions στο Folder του Web.Config, και να υλοποιήσεις το IHttpHandler έτσι ώστε να κάνει login ο user στα windows πριν γίνει το Redirection στο WebAdmin.

    Σίγουρα όμως υπάρχουν και άλλοι τρόποι.



     


    Σταύρος Βαλσάμης
    Προγραμματιστής
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems