<div dir="ltr">Hello Celso & others,<div><br></div><div style>First, Happy new CubicWeb year :)</div><div><br></div><div>Throwing hastily some notes ...<br><div><br></div><div>I think the security "story" of CubicWeb is just excellent, provided you inhibit the out-of-the-box html format for RichStrings.</div>
<div style>(the ReST format might be problematic also)</div><div style><br></div><div style>Barring that, security in cubicweb is essentially a matter of schema & logic design.</div><div style><br></div><div style>It gives you a basic group-based security mechanism that you can build upon.</div>
<div style>Then, generalized security through E/RRQLExpressions in __permissions__ (in entities and relation definitions) give an untold amount of flexibility.<br></div><div style><br></div><div style>Provided you define security very strictly at the schema level, you almost need nothing in the (default) ui side of things. Even though people find some "breach" (iow, bug) ui-wise that would seem to give permission to forbidden operations, they won't be able to bypass any of the schema-level security.</div>
<div style><br></div><div style>What must never be done is to build security at the ui/html generation level. Users always find ways around them.</div><div style><br></div><div style>a) build security in the schema, each part tested with unit/functional tests</div>
<div style>b) teach your application's ui (e.g. actions) the missing bits, using the security API (that asks the schema)</div><div style><br></div><div style>This is how security is built in cubicweb and also how you should build it in your apps.</div>
<div><br></div><div style>The really missing part is a good chapter in the cubicweb book ...</div><div style>You can already guess some of this perusing the photo gallery tutorial, esp. <a href="http://docs.cubicweb.org/tutorials/advanced/part02_security.html">http://docs.cubicweb.org/tutorials/advanced/part02_security.html</a> ...</div>
<div><div dir="ltr"><div class="gmail_extra"><br></div><div class="gmail_extra" style>The hard part will be:</div><div class="gmail_extra" style><br></div><div class="gmail_extra" style>* define a security model for your app. (not trivial, esp. if you never did it before, as there are infinitely many possible models)</div>
<div class="gmail_extra" style>* implement & unit/func test it thoroughly (we should really write down how to do it esp. wrt debugging)</div><div class="gmail_extra"><br></div><div class="gmail_extra">I'm looking forward to some kind of "security benchmark" ...</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Regards,</div><div class="gmail_extra">Aurélien.<br><br><div class="gmail_quote">2013/1/2 Celso FLORES <span dir="ltr"><<a href="mailto:celso.flores@crealibre.com" target="_blank">celso.flores@crealibre.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Thanks Nico, <br><br>We will have a meeting this week at Mexico to see what kind of test would they be performing on CW. <br>
Any info related, will be certainly useful. <br><br>BTW : <br>Feliz Año a todos ! <br><div class="im"><br><br><br>
<div class="gmail_quote">2012/12/29 Nicolas Chauvat <span dir="ltr"><<a href="mailto:nicolas.chauvat@logilab.fr" target="_blank">nicolas.chauvat@logilab.fr</a>></span><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

Hi Celso,<br>
<div><br>
On Mon, Dec 24, 2012 at 12:39:28PM +0100, Celso FLORES wrote:<br>
> We did have a meeting with our clients, in which they arise the question<br>
> about security in CubicWeb.<br>
<br>
</div>Work was done on this topic more than a year ago before <a href="http://data.bnf.fr" target="_blank">data.bnf.fr</a><br>
was put into production. I think it was Arthur who did that work. Just<br>
wait for Adrien to come back from vacation and he should be able to<br>
help you out.<br>
<br>
I agree that having a least some shared guidelines about how to<br>
conduct the security tests would be nice.<br>
<span><font color="#888888"><br>
--<br>
Nicolas Chauvat<br>
<br>
<a href="http://logilab.fr" target="_blank">logilab.fr</a> - services en informatique scientifique et gestion de connaissances<br>
</font></span></blockquote></div><br><br clear="all"><br></div><div class=""><div class="h5">-- <br>Celso FLORES<br>Knowledge Management Consultant<br>Mx. 044 81 80 75 04 73  <br><a href="mailto:celso.flores@crealibre.com" target="_blank">celso.flores@crealibre.com</a>        Skype: jcelsoflores
</div></div><br>_______________________________________________<br>
Cubicweb mailing list<br>
<a href="mailto:Cubicweb@lists.cubicweb.org">Cubicweb@lists.cubicweb.org</a><br>
<a href="http://lists.cubicweb.org/mailman/listinfo/cubicweb" target="_blank">http://lists.cubicweb.org/mailman/listinfo/cubicweb</a><br>
<br></blockquote></div><br></div></div></div></div></div>