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

 

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

Security Exception

Îåêßíçóå áðü ôï ìÝëïò intact. Τελευταία δημοσίευση από το μέλος intact στις 12-01-2006, 15:55. Υπάρχουν 9 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  22-12-2005, 13:22 8158

    Security Exception

    Καλημέρα

    Ξαναθέτω το πρόβλημα μου πιο συγκεκριμένα μιας και η πρώτη δημοσίευση δεν ήταν αρκετά σαφής.

    Εχω φτιάξει δυο projects ενα web site και μια class library (c#, ASP.NET 2.0) τα οποία καλούν μια βάση (SQL Server 2005). Το dll της library βρίσκεται στο bin του web site. Απο τις σελίδες όταν καλώ την βάση απευθείας δεν υπάρχει κανένα πρόβλημα. Οταν όμως στις σελίδες η βάση καλείται από μεθόδους των κλάσεων της library τότε βγαίνει το παρακάτω σφάλμα:

    Security Exception

    Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

    Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

    Μεθόδοι της library που δεν καλούνε την βάση τρέχουν κανονικά.

     

     

     

  •  22-12-2005, 14:22 8160 σε απάντηση της 8158

    Απ: Security Exception

    Τι sql χρησιμοποιείς??

    Τι connection string ?
    Simple Photography
  •  22-12-2005, 19:41 8163 σε απάντηση της 8158

    Απ: Security Exception

    SQL 2005 EXPRESS

    server=TEST\SQLEXPRESS; database=myDatabase; Trusted_Connection=True; Integrated Security=SSPI"
  •  22-12-2005, 21:03 8164 σε απάντηση της 8158

    Απ: Security Exception

    Εφόσον έχεις integrated security θα πρέπει να ελέγξεις ποιό account προσπαθεί να κάνει access τον sql server. Προφανώς δεν έχει επαρκή διακιώματα. Αυτό ρυθμίζεται στο web.config. Επίσης, σε τι περιβάλλον κάνεις το development; Windows XP ή Windows Server 2003; Σε τι περιβάλλον θα κάνεις deploy την εφαρμογή σου;

    Περισσότερες πληροφορίες εδώ: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/paght000015.asp


    Vir prudens non contra ventum mingit
  •  23-12-2005, 01:32 8167 σε απάντηση της 8158

    Απ: Security Exception

    Α! Ξέχασα... Αν παίζεις με SQL Server 2005 Express (που παίζεις απ' ότι βλέπω στο connection string), πρέπει να φροντίσεις να δέχεται connections ο SQL Server express γιατί out-of-the-box δεν δέχεται remote connections (προσοχή γιατί για να θεωρείται remote ένα connection δεν είναι απαραίτητο να προέρχεται από διαφορετικό μηχάνημα). Από τα εργαλεία διαχείρισης του SQL Server Express ρίξε μια ματιά στις ρυθμίσεις. Μπορείς να ακολουθήσεις την λογική "τα ανοίγω όλα και κατόπιν τα κλείνω ένα-ένα για να δω ποιό ευθύνεται".
    Vir prudens non contra ventum mingit
  •  23-12-2005, 10:33 8171 σε απάντηση της 8167

    Απ: Security Exception

    Το πρώτο βήμα είναι να βάλεις στα login του σέρβερ το account που χρησιμοποιεί ο IIS. Συνήθως είναι το ASPNET.
    Από κει και πέρα, μπορείς να ενεργοποιήσεις το tcp/ip όπως είπε και ο kelman, αλλά δε νομίζω ότι είναι αυτό, εφ' όσον συνδέεσαι στον σέρβερ, αλλά δεν έχεις πρόσβαση.
    Επίσης, θα βοηθούσε να μας πείς σε τι πίνακα προσπαθείς να συνδεθείς.
    Άν είναι πίνακας φτιαγμένος από το .ΝΕΤ 2.0 για roles & users, ενδεχομένως να πρέπεις να δείς και το machine.config ή να πάς στην asp.net καρτέλλα του virtual dir ή website στον IIS, και από το advanced να δείς αν χρησιμοποιούνται τυχόν άλλα connection strings και να τα διορθώσεις. Μόλις κάνεις τις διορθώσεις, θα εμφανιστούνε αυτόματα στο web.config.
    Simple Photography
  •  23-12-2005, 11:00 8173 σε απάντηση της 8171

    Απ: Security Exception

    Ά και φυσικά μην ξεχάσεις να δώσεις στο χρήστη δικαιώματα στη βάση.

    Simple Photography
  •  28-12-2005, 12:52 8217 σε απάντηση της 8173

    Απ: Security Exception

    Το περιβάλλον εργασίας μου είναι Win XP Pro και τις σελίδες τις βλέπω μέσω του production server του Visual Studio

    Εχω φτιάξει εναν κανουργιο user στον οποίο έχω δώσει όλα τα permissions αλλα πάλι κανει τα ίδια.

    server=TEST\SQLEXPRESS; database=myDatabase; UID=myUsername; PWD=myPassword

    Να επισημάνω ξανά ότι απο μια aspx σελίδα όταν κάνω απευθείας σύνδεση στην βάση δουλεύω κανονικά χωρίς πρόβλημα.

    Το πρόβλημα εμφανίζεται μόνο όταν καλείται η βάση απο μεθόδους της library.
  •  28-12-2005, 13:15 8218 σε απάντηση της 8217

    Απ: Security Exception

    Είναι κάπως δύσκολο αυτό το troubleshooting γιατί στις ASP.NET εφαρμογές υπάρχουν πολλαπλά layers και ενδεχομένως κάποιο από αυτά να αλλάζει το security context. Το καλύτερο που θα μπορούσες να κάνεις θα ήταν να έχεις τον profiler για να δεις ποιός είναι τελικά ο χρήστης που προσπαθεί να κάνει access τη βάση. Νομίζω ότι στην Express έκδοση δεν έρχεται, ωστόσο αν ήμουν απελπισμένος και είχα να αντιμετωπίσω αυτό το πρόβλημα σε production περιβάλλον, θα εγκαθιστούσα το Virtual PC, θα έκανα μια εγκατάσταση της evaluation version του SQL Server, θα έβαζα τον profiler να κάνει monitor τον exoress server και θα έβλεπα τι γίνεται... Και μετά το ξύλωμα θα ήταν εύκολο.
    Vir prudens non contra ventum mingit
  •  12-01-2006, 15:55 8607 σε απάντηση της 8158

    Απ: Security Exception

    Παρόλο που τελικά δεν βρήκα τι δημιουργούσε το πρόβλημα εκανα την δουλεια μου στηνοντας την Evaluation Version του SQL Server 2005 όπου όλα έπαιξαν κανονικά. Ευχαριστω πάντως όλους για τις υποδείξεις.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems