<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Πρώτα Βήματα - Βάσεις δεδομένων</title><link>https://www.dotnetzone.gr:443/cs/forums/73/ShowForum.aspx</link><description>Για όσους κάνουν τα πρώτα τους βήματα στην Microsoft Access ή τον SQL Server, ή γενικότερα στη θεωρία βάσεων δεδομένων.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Σύνδεση σε SQL Server με ασφαλή τρόπο</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/78409.aspx</link><pubDate>Fri, 06 Dec 2019 23:46:18 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:78409</guid><dc:creator>AlKiS</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/78409.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=78409</wfw:commentRss><description>&lt;p&gt;Δεν θα είναι σε domain, οπότε θα δω το video στη σελίδα.&lt;/p&gt;&lt;p&gt;Ευχαριστώ πολύ :)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;[P.S. Αυτό που σκεφτόμουν να κάνω τότε μπήκε σε παύση από τότε, γι'αυτό δεν είδα την απάντηση νωρίτερα - lol]&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: Σύνδεση σε SQL Server με ασφαλή τρόπο</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/78300.aspx</link><pubDate>Mon, 20 Aug 2018 22:00:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:78300</guid><dc:creator>Antonios Chatzipavlis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/78300.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=78300</wfw:commentRss><description>&lt;p&gt;Ο SQL Server έχει εξαιρετικό security και δεν χρειάζεται να κάνεις κάτι δικό σου.&lt;/p&gt;&lt;p&gt;Εφόσον είναι μια desktop εφαρμογή όπως κατάλαβα (αν κατάλαβα σωστά) και εφόσον αυτή είναι σε domain τότε θα σου έλεγα να χρησιμοποιήσεις domain accounts που έτσι και αλλιώς ο κάθε χρήστης έχει για να κάνει login στο domain.&lt;/p&gt;&lt;p&gt;Για να απλοποιήσεις την δουλειά σου φτιάξε domain groups ανάλογα με τα roles που θέλεις και αυτά να μπούν στον SQL Server με τα ανάλογα δικαιώματα.&lt;/p&gt;&lt;p&gt;Αν δεν είσαι σε domain καλό είναι να δεις το application role feature που έχει ο SQL Server.&lt;/p&gt;&lt;p&gt;Έχω μια παρουσίαση στο SQLschool.gr http://sqlschool.gr/SqlNight/4/Content.aspx είναι παλιά αλλά η ουσία παραμένει η ίδια &lt;br&gt;&lt;/p&gt;</description></item><item><title>Σύνδεση σε SQL Server με ασφαλή τρόπο</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/78296.aspx</link><pubDate>Thu, 16 Aug 2018 23:39:48 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:78296</guid><dc:creator>AlKiS</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/78296.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=78296</wfw:commentRss><description>&lt;p&gt;Καλησπέρα,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Γράφω ένα Windows Forms VB.NET application όπου παίρνει και δίνει πληροφορία σε ένα SQL Server Database.&lt;/p&gt;&lt;p&gt;Το πρόγραμμα λειτουργεί τέλεια και όλα όσα ήθελα να κάνει, τα κάνει ήδη. Οπότε έφτασα στο σημείο που δεν έχω ασχοληθεί ποτέ στο παρελθόν. Την Ασφάλεια.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Θεωρούμε ότι υπάρχει ένας Admin που έχει πλήρη έλεγχο στην βάση δεδομένων και μετά υπάρχουν διάφοροι άνθρωποι που έχουν περιορισμούς στο τι μπορούν να κάνουν edit ή view.&lt;/p&gt;&lt;p&gt;Υπάρχουν 2 πράγματα τώρα:&lt;/p&gt;&lt;p&gt;* SQL Server "Users"&lt;/p&gt;&lt;p&gt;* "Accounts" στο πρόγραμμα&lt;/p&gt;&lt;p&gt;Τα accounts μπορούν να παίρνουν πληροφορίες για το τι είδος είναι από ένα table στη βάση δεδομένων&amp;nbsp;&lt;span style="font-size:10pt;"&gt;(π.χ. αν στο row του account name του χρήστη, το column "GBM", που λειτουργεί σαν flag, είναι TRUE, τότε στο πρόγραμμα έχει δικαιώματα&amp;nbsp;GBM)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Σκέφτηκα επίσης ότι για log in στο πρόγραμμα θα πρέπει να πατάνε το Username τους και ένα password, και στη βάση δεδομένων για ασφάλεια θα είναι αποθηκευμένο ένα SHA3 hash με salt που μπορεί να είναι ένας τυχαίος αριθμός για τον κάθε χρήστη αποθηκευμένο στο sql server row του. Οπότε το πρόγραμμα (όντας ήδη συνδεδεμένο στη βάση) θα παίρνει το password που πληκτρολογήθηκε, θα διαβάζει το salt από τη βάση, θα παράγει το SHA3 και θα το συγκρίνει με το SHA3 στη βάση.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ερώτηση 1: Στην βάση δεδομένων, πώς είναι καλό να συνδέεται ο κάθε χρήστης?&lt;/p&gt;&lt;p&gt;* Διαφορετικό SQL User για κάθε χρήστη και ρύθμιση δικαιωμάτων ανάγνωσης/edit;&lt;/p&gt;&lt;p&gt;* 1 SQL User για κάθε ομάδα χρήστη που μοιράζεται ίδια δικαιώματα;&lt;/p&gt;&lt;p&gt;* 1 global SQL User για όλους με πλήρη δικαιόματα και απλώς το πρόγραμμα θα επιτρέπει/αποτρέπει τον καθένα από το να γράψει/δει εκεί που δεν πρέπει;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ερώτηση 2:&amp;nbsp;&lt;/p&gt;&lt;p&gt;* Το User ID και Password για τον SQL Server που θα είναι γραμμένα στο πρόγραμμα;&lt;/p&gt;&lt;p&gt;Αν είναι σε αρχείο, μπορεί να το δει κάποιος και να συνδεθεί απευθείας στον SQL Server. Δεν το θέλουμε αυτό.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Αν είναι σε μεταβλητή ή hardcoded, αν κάποιος κάνει reverse engineer, δεν μπορεί πάλι να το βρει και να πάρει έλεγχο του SQL Server?&lt;/p&gt;&lt;p&gt;*Ποιος είναι ο προτεινόμενος τρόπος;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ευχαριστώ πραγματικά για οποιαδήποτε ιδέα :)&lt;/p&gt;</description></item></channel></rss>