<?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>SharePoint Development</title><link>https://www.dotnetzone.gr:443/cs/forums/95/ShowForum.aspx</link><description>Ανάπτυξη εφαρμογών / λύσεων βασισμένες στα Windows SharePoint Services (WSS) και τον SharePoint Portal Server</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Πρόβλημα με δικαιώματα Sharepoint</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46646.aspx</link><pubDate>Tue, 02 Dec 2008 22:30:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46646</guid><dc:creator>eliasm</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46646.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=95&amp;PostID=46646</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;Χωρίς να θέλω να το παίξω έξυπνος μιας και δεν έχω και την τεράστια πείρα στο &lt;SPAN style="mso-ansi-language:EN-US;"&gt;SharePoint&lt;/SPAN&gt;, δεν ξέρω κατά πόσο θα μπορούσες να προσεγγίσεις αυτό που θέλεις με την χρήση ενός &lt;SPAN style="mso-ansi-language:EN-US;"&gt;web&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language:EN-US;"&gt;service&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;που θα κάνει αυτή και μόνο αυτή την εργασία.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;Νομίζω ότι με αυτό τον τρόπο δεν θα χρειαστεί να παίξεις με τα δικαιώματα μέσα από το &lt;SPAN style="mso-ansi-language:EN-US;"&gt;SharePoint&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;αλλά ταυτόχρονα αν χρειαστείς να κάνεις &lt;SPAN style="mso-ansi-language:EN-US;"&gt;impersonation&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;θα το κάνεις με μεγαλύτερη ασφάλεια.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 10pt;"&gt;&lt;FONT face=Calibri size=3&gt;Θα ήθελα να &lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/SPAN&gt;ακούσω και την άποψη των υπολοίπων σε αυτή την λογική προσέγγισης.&lt;/FONT&gt;&lt;/P&gt;</description></item><item><title>Απ: Πρόβλημα με δικαιώματα Sharepoint</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46642.aspx</link><pubDate>Tue, 02 Dec 2008 20:59:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46642</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46642.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=95&amp;PostID=46642</wfw:commentRss><description>Εξακολουθείς να κοιτάς πράγματα τα οποία δεν έχουν σχέση με το πρόβλημα σου. Τα permissions των χρηστών στα site του Sharepoint δεν έχουν σχέση καταρχήν με τα permissions στο σύστημα. Επιπλέον, ο κώδικας στις σελίδες τρέχει πάντα με τα permission του τελικού χρήστη. Ο μόνος τρόπος να τρέξεις κώδικα με αυξημένα δικαιώματα είναι η RunWithElevatedPrivileges.</description></item><item><title>Απ: Πρόβλημα με δικαιώματα Sharepoint</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46641.aspx</link><pubDate>Tue, 02 Dec 2008 20:41:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46641</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46641.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=95&amp;PostID=46641</wfw:commentRss><description>&lt;P&gt;Καταρχήν, αυτό που κάνεις είναι πολύ, &lt;STRONG&gt;ΠΟΛΥ ΣΟΒΑΡΟ&lt;/STRONG&gt; πρόβλημα ασφάλειας. Εδώ δεν χωράει το "ναι μεν, αλλά πρέπει". Όπως έχεις εσύ πρόσβαση στην σελίδα μέσω Sharepoint, έχουν και οι χρήστες σου. Από τη στιγμή που έβαλες τη σελίδα στο SafeControls κάποιος από τους πελάτες σου μπορεί να πάει εκεί και να βάλει ό,τι χαζό κώδικα θέλει. Όπως π.χ. να βάλει κώδικα ανοικτό σε script injections. Ή κώδικα ο οποίος θα διαβάζει λίστες και σελίδες που έχεις κρύψει. Ή μία γραμματέας της οποίας είπαν να πάει να φτιάξει μία σελίδα με το "νέο Frontpage". Ή, ή, ή. Μιλάμε για κάτι σαν &lt;STRONG&gt;Bad Sharepoint Practice #3. &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Άσε, που όπως είδες και εσύ, το debugging γίνεται μανίκι.&lt;/P&gt;
&lt;P&gt;Το λέω με τον απαιτούμενο σεβασμό, γνωρίζοντας ότι έχει τσαντίσει πολύ κόσμο στα newsgroups, και γνωρίζοντας ότι είναι ευκολότερο να κάνεις τη χακιά παρά να μπεις στη λογική του Sharepoint αλλά ... πρέπει να καταλάβεις τη λογική του Sharepoint, ιδιαίτερα&amp;nbsp;πριν κάνεις τόσο δραστικές αλλαγές. Δυστυχώς, το Sharepoint είναι εύκολο για τους τελικούς χρήστες αλλά δύσκολο για τους developers. Γι αυτό και τελικά δεν υπάρχουν Sharepoint Experts, απλά άνθρωποι οι οποίοι έχουν λύσει τα προβλήματα πριν από εσένα.&lt;/P&gt;
&lt;P&gt;Σχετικά με το δικό σου θέμα, αφού μιλάμε για workflow θα έπρεπε να ψάχνεις για τρόπους να υλοποιήσεις το workflow. Το Sharepoint έχει το δικό του workflow το οποίο μπορείς να σχεδιάσεις και μέσω Sharepoint Designer, ενώ μπορείς να χρησιμοποιήσεις και Event Receivers αν θέλεις να δουλέψεις μόνο με κώδικα. Κανονικά θα έπρεπε να κοιτάζεις για κάποιο workflow activity&amp;nbsp;το οποίο να αποθηκεύει το αρχείο στο σκληρό και όχι πως να κάνεις το ίδιο πράγμα μέσα στην σελίδα. Υπάρχουν ήδη αρκετά projects στο Codeplex με custom activities, όπως το&lt;A href="http://www.codeplex.com/SPDActivities"&gt; Useful Sharepoint Designer Custom Workflow Activities&lt;/A&gt;&amp;nbsp;το οποίο έχω χρησιμοποιήσει πολύ συχνά. Δεν έχει κάποιο έτοιμο activity για Save to Disk, αλλά μπορείς να το χρησιμοποιήσεις σαν βάση για να φτιάξεις τα δικά σου activities. Για παράδειγμα, τα Send Email with Attachment activities ήδη κάνουν κάποια από τα βήματα που θέλεις κι εσύ, &lt;/P&gt;
&lt;P&gt;Όσον αφορά τον κώδικα σου, πουθενά δεν καλείς την RunWithElevatedPrivileges, οπότε δεν υπάρχει περίπτωση να τρέξει ο κώδικας με Admin rights. Μπορεί να άνοιξες το site με το token του Admin, αλλά εσύ δεν θέλεις να δουλέψεις με το site. Θέλεις να δουλέψεις με το σκληρό δίσκο. Πρέπει ο κώδικας σου&amp;nbsp; να τρέξει ως admin, όχι να μιλήσεις στο site ως admin. Για να δουλέψει το Delete θα πρέπει να γράψεις&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;SPSecurity.RunWithElevatedPrivileges(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;delegate&lt;/SPAN&gt;()&lt;BR&gt;{&lt;BR&gt;System.IO.Directory.Delete(newPath,&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;true&lt;/SPAN&gt;);&lt;BR&gt;});&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;αλλιώς δεν πρόκειται να τρέξει ως System Account. Αν όμως θέλεις όντως να διαβάσεις τα περιεχόμενα της λίστας ως System Account, θα πρέπει να βάλεις και τον υπόλοιπο κώδικα μέσα στην RunWithElevatedPrivileges:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;SPSecurity.RunWithElevatedPrivileges(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;delegate&lt;/SPAN&gt;()&lt;BR&gt;{&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;using&lt;/SPAN&gt;(SPSite site=&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; SPSite(SPContext.Current.Site.ID))&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;using&lt;/SPAN&gt; (SPWeb web &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; site.OpenWeb())&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;.......&lt;BR&gt;&amp;nbsp;&amp;nbsp;SPListItemCollection listcol &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; web.Lists[&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"fax"&lt;/SPAN&gt;].Items; &lt;BR&gt;&amp;nbsp; SPListItem faxlitem &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; listcol[&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; Guid(Request[&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"id"&lt;/SPAN&gt;].ToString())];&lt;BR&gt;&amp;nbsp;&amp;nbsp;.....&lt;BR&gt;&amp;nbsp; System.IO.Directory.Delete(newPath,&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;true&lt;/SPAN&gt;);&lt;BR&gt;}&lt;BR&gt;});&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Στο ξαναλέω όμως, ΜΗΝ ΧΡΗΣΙΜΟΠΟΙΗΣΕΙΣ αυτό τον κώδικα. Είναι πολύ κακή ιδέα να τρέχεις κώδικα μέσα στις σελίδες του Sharepoint. &lt;/P&gt;
&lt;P&gt;Μερικές παρατηρήσεις ακόμα. Άλλο το site, άλλο το web. Δεν πρέπει να μπλέκεις τα ονόματα μεταξύ τους γιατί διαφορετικά θα μπλέξεις. Επίσης, η web.AllowUnsafeUpdates είναι επικίνδυνη και δεν πρέπει να τη χρησιμοποιείς αν δεν είσαι σίγουρη γι αυτό που κάνεις ... ειδικά αν δεν κάνεις ΚΑΝΕΝΑ update! Αφού τη χρησιμοποιήσεις θα πρέπει πάντα να την ξανακάνεις false. Λογικά αν χρειαζόταν, θα έπρεπε να την βάλεις σε ένα try .. finally block. &lt;/P&gt;
&lt;P&gt;Τέλος, θυμήσου αυτό που έγραψα και νωρίτερα. Το Sharepoint είναι δύσκολο και έχει μανικάκια, ειδικά όταν ξεκινάς με αυτό. Αν δεν θέλεις να μάθεις τί σημαίνει η έκφραση "Υπάρχουν κροκόδειλοι στη μπανιέρα μου", ζήτα βοήθεια από κάποιον έμπειρο έγκαιρα, πριν δεσμευτείς στον προϊστάμενο ή τον πελάτη σου ότι θα έχεις παραδώσει κάτι σε μία συγκεκριμένη ημερομηνία.&lt;BR&gt; Στη δική σου το πρόβλημα δεν είναι το πως να γράψεις στο σκληρό από μία σελίδα, αλλά πως θα κάνεις το Sharepoint να επικοινωνήσει με ένα άλλο σύστημα και μάλιστα στα πλαίσια ενός workflow. Το Sharepoint έχει μηχανισμούς που μπορούν να το κάνουν αυτό χωρίς να δημιουργήσεις προβλήματα ασφαλείας ή συντήρησης στο μέλλον.&lt;/P&gt;</description></item><item><title>Απ: Πρόβλημα με δικαιώματα Sharepoint</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46640.aspx</link><pubDate>Tue, 02 Dec 2008 19:40:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46640</guid><dc:creator>Eua</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46640.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=95&amp;PostID=46640</wfw:commentRss><description>Ο site Admin είναι και local admin στον server για αυτό χρησιμoποιώ τα δικαιώματα του στον κώδικα. Κάτι που είναι πολύ περίεργο..&amp;nbsp; Το σκέφτηκα και εγώ ότι μπορεί να φταίνε τα δικαιώματα στον Server και υπέθεσα ότι το Token που χρησιμοποιώ μπορεί να έχει σχέση μόνο με το site και όχι στον server έτσι&amp;nbsp; δοκίμασα τα εξής :&lt;br&gt;&lt;br&gt;&lt;ol&gt;&lt;li&gt;να κάνω έναν Simple User (στο Sharepoint και στο Server) να έχει full control στον server και τότε έσβησε το φάκελο ,τότε υπέθεσα ότι ήταν θέμα του Server&lt;br&gt;&lt;/li&gt;&lt;/ol&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; αυτό δεν μπορώ να το κάνω για όλους τους χρήστες της εταιρίας όπως καταλαβαίνεται γιατί έχω πρόβλημα με τον Admin..&lt;br&gt;&lt;br&gt;&amp;nbsp; όμως στην συνέχεια έκανα το εξής..&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. σε έναν Simple user του Sharepoint (δικαιώματα Read) έδωσα Full control στο Sharepoint και το έσβησε αν και δεν είχε ο χρήστης δικαιώματα στον Server! αυτό είναι κάτι που μου έκανε εντύπωση ενώ είχα καταλήξει ότι ήταν θέμα με τα δικαιώματα στον Server. &lt;br&gt;&lt;br&gt;πραγματικά δεν καταλαβαίνω...&amp;nbsp; &lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Πρόβλημα με δικαιώματα Sharepoint</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46638.aspx</link><pubDate>Tue, 02 Dec 2008 19:19:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46638</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46638.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=95&amp;PostID=46638</wfw:commentRss><description>&lt;P&gt;Προσωπικά, θα προτίμουσα να κάνω το debug σε άλλο επίπεδο - θα προσπαθούσα να δω με τι credentials φτάνει το process στο folder την ώρα που πάει να σβήσει το folder. Ένα τέτοιου είδους debugging είναι πιο απλό και άμεσο. Θα μπορούσε να χρησιμοποιήσεις το &lt;A target=_blank href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx"&gt;Process Monitor&lt;/A&gt; ένα εργαλείο που σου επιτρέπει να δεις "live" τι συμβαίνει στον υπολογιστή σου. Αν τρέξει αυτό επάνω στο server που γίνονται οι αλλαγές στο folder, θα δεις γιατί δεν μπορεί να σβήσει το folder.&lt;/P&gt;
&lt;P&gt;Ο site admin δεν έχει&amp;nbsp;- σώνει και καλά - δικαιώματα στο server, μπορεί να είναι και απλός χρήστης. Το πιθανότερο, είναι να φτάνει το process, μέσα στο folder με τα δικαιώματα που τρέχει ο SharePoint αν και να έχει δικαιώματα create/read να μην έχει delete...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: Πρόβλημα με δικαιώματα Sharepoint</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46633.aspx</link><pubDate>Tue, 02 Dec 2008 17:05:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46633</guid><dc:creator>Eua</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46633.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=95&amp;PostID=46633</wfw:commentRss><description>&lt;P&gt;Λοιπόν, αρχικά να πω ότι γράφω σε Sharepoint designer και συνεχίζω..&lt;/P&gt;
&lt;P&gt;καταλαβαίνω ότι δεν είναι ασφαλές όπως είπε και ο Παναγιώτης να αποθηκεύω στο σκληρό όμως είναι απαραίτητο. Πρόκειται για μια Workflow εφαρμογή και μετά από τις απαραίτητες εγκρίσεις παράγω αρχείο το οποίο&amp;nbsp; αποθηκεύω και στον Server&amp;nbsp;για να το &amp;nbsp;λάβει εξωτερική εφαρμογή. Δυστυχώς είναι απαραίτητο και δεν μπορεί να αποφευχθεί. Όσο για τον κώδικα&amp;nbsp; σας τον παραθέτω για να μου προτείνετε τροποποιήσεις: &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000080&gt;protected void Send_Again(object sender, EventArgs e)&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;//ανοίγω &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;το&amp;nbsp;site με δικαιώματα admin&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000080&gt;&amp;nbsp;&amp;nbsp;SPUser Actionuser = SPContext.Current.Web.AllUsers[ConfigurationManager.AppSettings.Get("SiteAdmin")];&lt;BR&gt;&amp;nbsp;&amp;nbsp;SPUserToken token = Actionuser.UserToken;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;using (SPWeb site = new SPSite(SPContext.Current.Web.Url,token).OpenWeb())&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp; site.AllowUnsafeUpdates = true;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPListItemCollection listcol = site.Lists["fax"].Items;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPListItem faxlitem = listcol[new Guid(Request["id"].ToString())];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#ff0000&gt;//Failed dir&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string FailedDir = @"c:\Fax_Approved\Failed";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;//τελικός φάκελος αποθήκευσης&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string lastDir = @"c:\Fax_Approved";&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Δημιούργησε ένα Subfolder του παραπάνω φακέλου&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string lastPath = System.IO.Path.Combine(lastDir,"fax"+faxlitem["ID"].ToString()+"_"+faxlitem["FaxNo"].ToString());&lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DirectoryInfo&amp;nbsp; subfolder = new DirectoryInfo(lastPath);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(!subfolder.Exists)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.IO.Directory.CreateDirectory(lastPath);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string newPath = System.IO.Path.Combine(FailedDir,&amp;nbsp; "fax"+faxlitem["ID"].ToString()+"_"+faxlitem["FaxNo"].ToString());&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Κάνε Copy των φάκελο και επικόλλησε τον στο τελικό directory προς αποστολή&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (System.IO.Directory.Exists(newPath))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string[] files = System.IO.Directory.GetFiles(newPath);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#ff0000&gt; // Copy the files and overwrite destination files if they already exist&lt;/FONT&gt;.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (string s in files)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Use static Path methods to extract only the file name from the path.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string fileName = System.IO.Path.GetFileName(s);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string destFile = System.IO.Path.Combine(lastPath, fileName);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.IO.File.Copy(s,destFile, true);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.IO.Directory.Delete(newPath,true);&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch (Exception ex){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;ClientScript.RegisterClientScriptBlock(this.GetType(), "onload", "alert('Πρόβλημα: " + ex.Message + "')", true);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000080&gt;&lt;FONT color=#000000&gt;Οι εντολές για create,copy folder/files παίζουν στο delete έχω error..&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000080&gt;&lt;FONT color=#000000&gt;Ευχαριστώ για τη βοήθεια.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;</description></item><item><title>Απ: Πρόβλημα με δικαιώματα Sharepoint</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46618.aspx</link><pubDate>Tue, 02 Dec 2008 04:19:48 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46618</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46618.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=95&amp;PostID=46618</wfw:commentRss><description>&lt;P&gt;Μετέφερα τη συζήτηση εδώ, καθώς το θέμα έχει να κάνει ξεκάθαρα με ... Sharepoint. Καταρχήν, το Sharepoint χρησιμοποιεί σχεδόν παντού impersonation για να τρέξει τον κώδικα μόνο με τα περιορισμένα permissions του client. Η ρύθμιση αυτή μπαίνει αυτόματα όταν δημιουργείται ένα νέο web application. Το Sharepoint βασίζεται σε αυτό, οπότε κάθε αλλαγή π.χ. από το app.config απαγορεύεται αυστηρώς και δια ροπάλου.&lt;/P&gt;
&lt;P&gt;Για να τρέξει κανείς κώδικα με elevated priviledges πρέπει να εκτελέσει τον κώδικα του ως εξής:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;SPSecurity.RunWithElevatedPrivileges(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;delegate&lt;/SPAN&gt;()&lt;BR&gt;{&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;// do things assuming the permission of the "system account"&lt;/SPAN&gt;&lt;BR&gt;});&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;FONT face=Tahoma size=2&gt;Εδώ υπάρχει και μία μικρή παγίδα για όποιον θέλει με κώδικα να πειράξει τα περιεχόμενα του Sharepoint. Για να έχει κανείς elevated priviledges όταν πειράξει sites, λίστες και αντικείμενα, θα πρέπει τα αντίστοιχα αντικείμενα να έχουν δημιουργηθεί μέσα στο RunWithElevatedPrivileges. Αυτό σημαίνει ότι ΔΕΝ μπορούμε να χρησιμοποιήσουμε π.χ. το SPContext.Current.Site αν θέλουμε να πειράξουμε τα περιεχόμενα ενός site. Θα πρέπει να γράψουμε κάτι σαν το &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;SPSecurity.RunWithElevatedPrivileges(&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;delegate&lt;/SPAN&gt;()&lt;BR&gt;{&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;using&lt;/SPAN&gt; (SPSite site &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;new&lt;/SPAN&gt; SPSite(SPContext.Current.Site.ID))&lt;BR&gt;{&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:green;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;// do things assuming the permission of the "system account"&lt;/SPAN&gt;&lt;BR&gt;}&lt;BR&gt;});&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;FONT face=Tahoma color=#ff0000 size=3&gt;&lt;STRONG&gt;Danger, Danger, Will Robinson!&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;FONT face=Tahoma size=2&gt;Χρειάζεται μεγάλη προσοχή όμως. Καταρχήν, το Sharepoint έχει φτιαχτεί με τη λογική ότι ο κώδικας δεν έχει άμεση πρόσβαση στη βάση ή τον σκληρό. Λογικά, ΔΕΝ πρέπει να φτιάχνει ή να διαγράφει κανείς folder στον σκληρό. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;FONT face=Tahoma size=2&gt;Επιπλέον, ακόμα και μία custom ASPX σελίδα δεν θα πρέπει να έχει δικαίωμα να εκτελέσει custom κώδικα! Μπορεί να περιέχει κάποια Safe controls, αλλά δεν μπορεί να τρέξει .NET κώδικα. Αυτό γίνεται για να αποφευχθούν επιθέσεις οι οποίες θα καταφέρουν να εκτελέσουν κώδικα με administrator priviledges. &lt;BR&gt;Οπότε, είτε η Eua έχει γράψει κάποιο Web Part, ή "κάρφωσε" το app.config ένα SafeControl entry στο app.Config. Αυτό είναι ΚΑΚΟ. Πέρα από ότι είναι ΚΑΚΟ, είναι και ΜΠΕΛΑΣ και κακή συνήθεια, γιατί ένα site μπορεί να έχει δεκάδες subsites και εκατοντάδες custom σελίδες. Στο τέλος θα καταλήξουμε να έχουμε εκατοντάδες entires στο SafeControls. Άντε μετά να βγάλεις άκρη, ποιό είναι όντως ασφαλές και ποιό όχι!&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;FONT face=Tahoma size=2&gt;Υποψιάζομαι λοιπόν, ότι η Eua έχει κάποιο άλλο πρόβλημα το οποίο προσπαθεί να το λύσει δημιουργώντας temporary folders στο σκληρό. Κατά πάσα πιθανότητα αυτό είναι περιττό, οπότε καλό θα είναι να μας πει η Eua τί προσπαθεί να κάνει για να βρούμε μία καλύτερη λύση&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;</description></item><item><title>Απ: Πρόβλημα με δικαιώματα Sharepoint</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46612.aspx</link><pubDate>Tue, 02 Dec 2008 01:32:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46612</guid><dc:creator>eliasm</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46612.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=95&amp;PostID=46612</wfw:commentRss><description>&lt;P&gt;μηπως μπορεις να αναφέρεις ποια στιγμή κανεις το impersonation και πως (αν μπορεις βαλε και το καμματι του κωδικα)&lt;/P&gt;</description></item><item><title>Πρόβλημα με δικαιώματα Sharepoint</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/46609.aspx</link><pubDate>Tue, 02 Dec 2008 01:06:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:46609</guid><dc:creator>Eua</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/46609.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=95&amp;PostID=46609</wfw:commentRss><description>&lt;br&gt;Καλησπέρα, έχω μια custom aspx στην οποία μια ρουτίνα διαγράφει ένα φάκελο στον server(με τα περιεχόμενα του) με την παρακάτω εντολή&lt;br&gt;&lt;b&gt;System.IO.Directory.Delete(newPath,true);&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;αν και κάνω impersonation στην ρουτίνα έτσι ώστε να χρησιμοποιεί πάντα δικαιώματα admin η διαγραφή εκτελείται μόνο σε περίπτωση που ο χρήστης του site έχει δικαιώματα full control σε διαφορετική περίπτωση μου επιστρέφει μήνυμα &lt;b&gt;Access to the path .....&amp;nbsp; is denied&lt;/b&gt;. 










	.zz1_TopNavigationMenu_0 { background-color:white;visibility:hidden;display:none;position:absolute;left:0px;top:0px; }
	.zz1_TopNavigationMenu_1 { text-decoration:none; }
	.zz1_TopNavigationMenu_2 {  }
	.zz1_TopNavigationMenu_3 { border-style:none; }
	.zz1_TopNavigationMenu_4 {  }
	.zz1_TopNavigationMenu_5 {  }
	.zz1_TopNavigationMenu_6 { border-style:none; }
	.zz1_TopNavigationMenu_7 {  }
	.zz1_TopNavigationMenu_8 { background-color:#F2F3F4;border-color:#A7B4CE;border-width:1px;border-style:solid; }
	.zz1_TopNavigationMenu_9 { border-style:none; }
	.zz1_TopNavigationMenu_10 {  }
	.zz1_TopNavigationMenu_11 { border-style:none; }
	.zz1_TopNavigationMenu_12 {  }
	.zz1_TopNavigationMenu_13 { border-style:none; }
	.zz1_TopNavigationMenu_14 {  }
	.zz1_TopNavigationMenu_15 { border-style:none; }
	.zz1_TopNavigationMenu_16 { background-color:#CBE3F0; }
	.zz2_QuickLaunchMenu_0 { background-color:white;visibility:hidden;display:none;position:absolute;left:0px;top:0px; }
	.zz2_QuickLaunchMenu_1 { text-decoration:none; }
	.zz2_QuickLaunchMenu_2 {  }
	.zz2_QuickLaunchMenu_3 { border-style:none; }
	.zz2_QuickLaunchMenu_4 {  }
	.zz2_QuickLaunchMenu_5 { border-style:none; }
	.zz2_QuickLaunchMenu_6 {  }
	.zz2_QuickLaunchMenu_7 {  }
	.zz2_QuickLaunchMenu_8 {  }
	.zz2_QuickLaunchMenu_9 { border-style:none; }
	.zz2_QuickLaunchMenu_10 {  }
	.zz2_QuickLaunchMenu_11 { border-style:none; }
	.zz2_QuickLaunchMenu_12 {  }


.&lt;br&gt;πως μπορώ να το λύσω αυτό προγραμματιστικά χωρίς να αλλαχθούν δικαιώματα στο site ή στο security του folder του server;;&lt;br&gt;&lt;br&gt;Ευχαριστώ εκ των προτέρων.&lt;br&gt;&lt;br&gt;</description></item></channel></rss>