<?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>Απ: Δικαιώματα χρηστη σε εγγραφές ενος table</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66588.aspx</link><pubDate>Mon, 18 Jul 2011 18:54:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66588</guid><dc:creator>Karist</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66588.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=66588</wfw:commentRss><description>&lt;P&gt;Παναγιώτη ευχαριστώ πολύ για την&amp;nbsp;&amp;nbsp;άμεση απάντηση σου,&lt;/P&gt;
&lt;P&gt;τη βαση του sql θα την&amp;nbsp;"χτυπανε" οι εξ. συνεργατες με δικά τους appl, οποτε θα πρέπει να&amp;nbsp;&amp;nbsp;"βγαλω" τον sql&amp;nbsp;στο internet. Δεν θα χρησιμοποιει κανεις από τους&amp;nbsp;εξ. συνεργατες δικο μου apll.&amp;nbsp;Το μονο appl θα τρεχει από εμενα για την ενημέρωση της βασης με&amp;nbsp;στοιχεία.&lt;/P&gt;
&lt;P&gt;Για την χρήση&amp;nbsp;του view και &amp;nbsp;του SYSTEM_USER ειχα διαβάσει, αλλά δεν ημουν σιγουρος οτι ηταν&amp;nbsp;η καλυτερη&amp;nbsp; ή η μοναδική λύση.&lt;/P&gt;
&lt;P&gt;Θα υπάρχει ένα view με συγκεκριμένα πεδία για ολους και ο έλεγχος θα γινεται με "WHERE user_name = SYSTEM_USER&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ευχαριστώ πολύ &lt;/P&gt;</description></item><item><title>Απ: Δικαιώματα χρηστη σε εγγραφές ενος table</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66587.aspx</link><pubDate>Mon, 18 Jul 2011 18:34:03 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66587</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66587.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=66587</wfw:commentRss><description>&lt;p&gt;Ο τρόπος με τον οποίο γίνεται αυτό εξαποανέκαθεν είναι δημιουργώντας ξεχωριστά views ανά χρήστη ή κατηγορία χρηστών και δίνοντας δικαιώματα στα views αυτά. Η δημιουργία ενός view ανά χρήστη δεν είναι και ό,τι καλύτερο πάντως καθώς θα πρέπει να δημιουργήσεις πολλά views. &lt;/p&gt;&lt;p&gt;Μία άλλη λύση είναι να προσθέσεις ένα πεδίο&amp;nbsp;με το username του χρήστη που έχει δικαίωμα και μετά να&amp;nbsp;δημιουργήσεις ένα view το οποίο φιλτράρει τα αποτελέσματα με βάση το username του χρήστη και δίνοντας πρόσβαση στους εξωτερικούς χρήστες σε αυτό το view και μόνο (π.χ. χρησιμοποιώντας τις CURRENT_USER() ή SYSTEM_USER()).&lt;/p&gt;&lt;p&gt;Όπως και να έχει πάντως, δεν είναι και τόσο καλή λύση να δώσεις πρόσβαση στη βάση με ξεχωριστά login σε κάθε πελάτη. Καταρχήν, θα πρέπει να βεβαιωθείς ότι έχεις δώσει σωστά permissions σε όλους τους χρήστες, σε όλους τους πίνακες. Μετά, θα πρέπει να διαχειρίζεσαι τα logins είτε σε επίπεδο windows accounts είτε ως SQL Logins. Τέλος, θα πρέπει να "βγάλεις" τον SQL Server προς τα έξω για να μπορούν να τον δουν οι άλλοι χρήστες.&lt;/p&gt;&lt;p&gt;Αντί γι αυτό, είναι πολύ προτιμότερο και ευκολότερο να τροποποιήσεις την εφαρμογή σου έτσι ώστε να αναγνωρίζει διαφορετικούς χρήστες και να φιλτράρει τα δεδομένα που δείχνει με βάση το χρήστη. Το ASP.NET σου δίνει "από το κουτί" τη δυνατότητα να υποστηρίξεις πολλαπλούς χρήστες μέσω του&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx"&gt;ASP.NET Membership&lt;/a&gt;. Μετά, θα μπορείς να δείξεις διαφορετικές οθόνες ή να κάνεις διαφορετικά queries ανάλογα με το χρήστη που έχει κάνει login.&lt;/p&gt;&lt;p&gt;Σε κάθε περίπτωση θα πρέπει η εφαρμογή ή/και η βάση σου να έχουν σχεδιαστεί έχοντας υπόψη την ύπαρξη πολλών χρηστών. Διαφορετικά, θα χρειαστούν αρκετές αλλαγές στη βάση (ειδικά αν θέλεις να έχεις ξεχωριστά views ανά συνεργάτη) και στην εφαρμογή.&lt;/p&gt;</description></item><item><title>Δικαιώματα χρηστη σε εγγραφές ενος table</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/66586.aspx</link><pubDate>Mon, 18 Jul 2011 18:05:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:66586</guid><dc:creator>Karist</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/66586.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=66586</wfw:commentRss><description>&lt;P&gt;Γεια σας,&lt;/P&gt;
&lt;P&gt;σε ένα table ( πχ orders ) μιας βασης δεδομένων, θα υπάρχουν δεδομένα για διαφορετικούς χρηστες. &lt;/P&gt;
&lt;P&gt;Υπάρχει η δυνατότητα με τη χρηση ξεχωριστών κωδικών πρόσβασης, ο κάθε χρήστης να έχει πρόσβαση ΜΟΝΟ στα δικά του στοιχεία;&lt;/P&gt;
&lt;P&gt;Αυτο που θέλω να κάνω, ειναι να δωσω την δυνατότητα πρόσβασης σε μια βαση sql στο table orders, σε εξωτερικούς συνεργατες, αλλά φυσικά να μη μπορεί ο ένας συνεργάτης να έχει πρόσβαση στα δεδομένα καποιου άλλου. &lt;/P&gt;
&lt;P&gt;Μπορώ να το πετυχω αυτό με την χρηση user name &amp;amp; password σε επίπεδο sql ή πρέπει να κάνω ξεχωριστά table για καθε εξωτερικό συνεργάτη, που μαλλον δεν είναι το σωστότερο;&lt;/P&gt;
&lt;P&gt;Καμμιά ιδέα-πρόταση;&lt;/P&gt;
&lt;P&gt;Ευχαριστώ εκ των προτέρων&amp;nbsp;για την παντα πολυτιμη βοήθειά σας.&lt;/P&gt;</description></item></channel></rss>