<?xml version="1.0" encoding="iso-8859-1" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><channel><title>PeppeDotNet Blog - Category: XML e derivati</title><link>http://www.peppedotnet.it/Blog/Categoria/XML_e_derivati/</link><description>Marchi Giuseppe personal blog</description><dc:language>it-it</dc:language><pubDate>Fri, 22 Oct 2004 00:00:00 GMT</pubDate><lastBuildDate>Mon, 20 May 2013 16:33:12 GMT</lastBuildDate><webMaster>info@peppedotnet.it (Giuseppe Marchi)</webMaster><managingEditor>info@peppedotnet.it (Giuseppe Marchi)</managingEditor><copyright>PeppeDotNet 2004/06</copyright><generator>dotRss 0.9.3.28434 Beta2 - http://www.peppedotnet.it/Projects/dotRSS.aspx</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><category>.NET and Sharepoint programming</category><ttl>60</ttl><image><title>PeppeDotNet</title><url>http://www.peppedotnet.it/img/logo.gif</url><link>http://www.peppedotnet.it/Blog</link><width>144</width><height>30</height><description>PeppeDotNet.it</description></image><item><title>XACML - eXtensible Access Control Markup Language</title><link>http://www.peppedotnet.it/Blog/XACML.aspx</link><pubDate>Thu, 01 Mar 2007 00:53:05 GMT</pubDate><description>E' da un pò di tempo che volevo postare, le slide per una presentazione di uno studio che ho fatto sul linguaggio XACML, un linguaggio per gestire gli accessi a risorse condivise e per creare policy che regolino tali accessi.
&lt;br /&gt;L'idea è molto interessante, ma prevede un framework che implementi le regole descritte. E' uno standard OASIS e ha gia implentazioni in .NET e Java.
&lt;br /&gt;In poche parole, permette di definire delle regole per controllare l'accesso a delle risorse in ambienti distribuiti e descrive gli algoritmi con cui queste regole devono essere applicate; tutto ciò scrivendo semplicemente dei file in formato XML.
&lt;br /&gt;Questo un esempio di Policy, che permette qualsiasi tipo di azione per soggetti appartenenti al dominio peppedontet.it:
&lt;br /&gt;
&lt;br /&gt;&lt;div class="code"&gt;&lt;pre&gt;&lt;span style='color:#0000FF'&gt;&lt;?&lt;/span&gt;&lt;span style='color:#800000'&gt;xml&lt;/span&gt;&lt;span style='color:#FF0000'&gt; version&lt;span style='color:#0000FF'&gt;="1.0"&lt;/span&gt; encoding&lt;span style='color:#0000FF'&gt;="UTF-8"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;?&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Policy&lt;/span&gt;&lt;span style='color:#FF0000'&gt; xmlns&lt;span style='color:#0000FF'&gt;="urn:oasis:names:tc:xacml:2.0:policy:schema:os"&lt;/span&gt;
&lt;br /&gt;    xmlns:xsi&lt;span style='color:#0000FF'&gt;="http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt;
&lt;br /&gt;    xsi:schemaLocation&lt;span style='color:#0000FF'&gt;="urn:oasis:names:tc:xacml:2.0:policy:schema:os http://docs.oasis-
&lt;br /&gt;    open.org/xacml/access_control-xacml-2.0-policy-schema-os.xsd"&lt;/span&gt;
&lt;br /&gt;    PolicyId&lt;span style='color:#0000FF'&gt;="urn:oasis:names:tc:example:SimplePolicy1"&lt;/span&gt;
&lt;br /&gt;    RuleCombiningAlgId&lt;span style='color:#0000FF'&gt;="identifier:rule-combining-algorithm:deny-overrides"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Description&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;        PeppeDotNet access control policy
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Description&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Target/&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Rule&lt;/span&gt;&lt;span style='color:#FF0000'&gt; RuleId&lt;span style='color:#0000FF'&gt;= "urn:oasis:names:tc:xacml:2.0:example:SimpleRule1"&lt;/span&gt; Effect&lt;span style='color:#0000FF'&gt;="Permit"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;        &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Description&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;            Ogni soggetto con un'e-mail del dominio peppedotnet.it
&lt;br /&gt;            puo' effettuare ogni tipo di azioni su qualsiasi risorsa.
&lt;br /&gt;        &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Description&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;        &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Target&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;            &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Subjects&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;                &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;Subject&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;	
&lt;br /&gt;                    &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;SubjectMatch&lt;/span&gt;&lt;span style='color:#FF0000'&gt; MatchId&lt;span style='color:#0000FF'&gt;="urn:oasis:names:tc:xacml:1.0:function:rfc822Name-match"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;                        &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;AttributeValue&lt;/span&gt;&lt;span style='color:#FF0000'&gt; DataType&lt;span style='color:#0000FF'&gt;="http://www.w3.org/2001/XMLSchema#string"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;                            peppedotnet.it
&lt;br /&gt;                        &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;AttributeValue&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;                        &lt;span style='color:#0000FF'&gt;&lt;&lt;/span&gt;&lt;span style='color:#800000'&gt;SubjectAttributeDesignator&lt;/span&gt;&lt;span style='color:#FF0000'&gt;
&lt;br /&gt;                            AttributeId&lt;span style='color:#0000FF'&gt;="urn:oasis:names:tc:xacml:1.0:subject:subject-id"&lt;/span&gt;
&lt;br /&gt;                            DataType&lt;span style='color:#0000FF'&gt;="urn:oasis:names:tc:xacml:1.0:data-type:rfc822Name"&lt;/span&gt;&lt;/span&gt;&lt;span style='color:#0000FF'&gt;/&gt;&lt;/span&gt;
&lt;br /&gt;                    &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;SubjectMatch&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;                &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Subject&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;            &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Subjects&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;        &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Target&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;    &lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Rule&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;
&lt;br /&gt;&lt;span style='color:#0000FF'&gt;&lt;/&lt;/span&gt;&lt;span style='color:#800000'&gt;Policy&lt;/span&gt;&lt;span style='color:#0000FF'&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;Come potete vedere, risulta facile sia leggere che scrivere regole di questo tipo. La cosa fantastica, come tutte le tecnologie figlie dell'XML, è che il linguaggio di policy è estensibile !
&lt;br /&gt;Vi lascio quindi&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.peppedotnet.it/zip/XACML.ppt" title="XACML slides"&gt;le slide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.peppedotnet.it/zip/XACML.zip" title="XAML slides e file di esempio"&gt;e i file di esempio&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;per vostro uso e consumo ;)
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;TAGS: [&lt;a href="http://www.peppedotnet.it/Tags/XML.aspx" title="TAG: XML"&gt;XML&lt;/a&gt;] [&lt;a href="http://www.peppedotnet.it/Tags/XACML.aspx" title="TAG: XACML"&gt;XACML&lt;/a&gt;]</description><dc:creator> (Giuseppe Marchi)</dc:creator><comments>/Blog/XACML.aspx#comm</comments><guid>/Blog/XACML.aspx</guid><source url="http://www.peppedotnet.it/Blog/Rss.aspx" /><category>XML e derivati</category><trackback:ping>http://www.peppedotnet.it/Blog/Trackbacks/213.aspx</trackback:ping></item><item><title>Le specifiche RSS 2.0</title><link>http://www.peppedotnet.it/Blog/Specifiche_rss_2.aspx</link><pubDate>Sat, 11 Dec 2004 18:35:22 GMT</pubDate><description>Ho appena upppato un &lt;a href="articolo4.aspx" title="Descrizione delle specifiche RSS 2.0"&gt;nuovo articolo&lt;/a&gt; sulla descrizione delle specifiche RSS 2.0, in concomitanza con la pubblicazione della libreria che vi dicevo: &lt;a href="http://www.peppedotnet.it/dotRSS/" title="dotRSS"&gt;dotRSS&lt;/a&gt;, e con la nascita della nuova sezione Projects.
&lt;br /&gt;Se qualcuno vuole inserire dei suoi progetti all'interno di questa nuova sezione, non deve far altro che &lt;a href="mailto:info@peppedotnet.it" title="contattami"&gt;contattarmi&lt;/a&gt; !
&lt;br /&gt;
&lt;br /&gt;Riguardo a dotRSS, oltre alla documentazione, scaricabile in formato .chm o &lt;a href="http://www.peppedotnet.it/dotRSS/Documentation/index.html" title="dotRSS - Documentazione on-line"&gt;consultabile on-line&lt;/a&gt;, ho messo disponibili anche una serie di esempi (sia in C# che in VB.NET) per utilizzarla al meglio.
&lt;br /&gt;
&lt;br /&gt;Vi lascio inoltre dei pezzi di codice, per invogliarvi ad utilizzarla !
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;Creare un nuovo feed RSS, e salvarlo sul file system&lt;/b&gt;
&lt;br /&gt;RssDocument rss = new RssDocument();&lt;br /&gt;
RssWebMaster peppe = new RssWebmaster("Marchi Giuseppe", "info@peppedotnet.it");&lt;br /&gt;
rss.Title = "Feed di prova";&lt;br /&gt;
rss.Link = "http://www.peppedotnet.it/prova.xml"&lt;br /&gt;
rss.Description = "Descrizione del nostro feed"&lt;br /&gt;
rss.WebMaster = peppe;&lt;br /&gt;
...&lt;br /&gt;
rss.Save(Server.MapPath("feed/prova.xml"));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;stampa a video come Stream di dati&lt;/b&gt;
&lt;br /&gt;RssDocument rss = new RssDocument();&lt;br /&gt;
rss.Load(Server.MapPath("http://www.peppedotnet.it/public/generale.xml"));&lt;br /&gt;
rss.Save(Response.OutputStream);&lt;br /&gt;
Response.ContentType = "text/xml";&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;caricare un feed rss creato dinamicamente&lt;/b&gt;
&lt;br /&gt;WebClient client = new WebClient();&lt;br /&gt;
Stream data = client.OpenRead("http://www.peppedotnet.it/rss_art20.aspx");&lt;br /&gt;
RssDocument rss = new RssDocument();&lt;br /&gt;
rss.Load(data);&lt;br /&gt;
rss.Save(Response.OutputStream);&lt;br /&gt;
Response.ContentType = "text/xml";&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;Il resto ve lo lascio da scoprire !!!</description><dc:creator> (Giuseppe Marchi)</dc:creator><comments>/Blog/Specifiche_rss_2.aspx#comm</comments><guid>/Blog/Specifiche_rss_2.aspx</guid><source url="http://www.peppedotnet.it/Blog/Rss.aspx" /><category>XML e derivati</category><trackback:ping>http://www.peppedotnet.it/Blog/Trackbacks/16.aspx</trackback:ping></item></channel></rss>