<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Commentaires sur : CAS et Grails, sans sarCASmes !</title>
	<atom:link href="http://blog.excilys.com/2010/05/06/cas-et-grails-sans-sarcasmes/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.excilys.com/2010/05/06/cas-et-grails-sans-sarcasmes/</link>
	<description>Langages, Architectures &#38; Méthodologies</description>
	<lastBuildDate>Wed, 11 Jan 2012 14:47:25 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Par : worm</title>
		<link>http://blog.excilys.com/2010/05/06/cas-et-grails-sans-sarcasmes/comment-page-1/#comment-646</link>
		<dc:creator>worm</dc:creator>
		<pubDate>Fri, 07 May 2010 08:41:29 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excilys.com/?p=1512#comment-646</guid>
		<description>Merci pour les infos ; j&#039;étais arrivé à cette solution de Custom UserDetailsService, mais cela m&#039;a paru compliqué à mettre en oeuvre (je débute complètement avec grails...et les frameworks java en général) et j&#039;espérais qu&#039;il y ait une solution plus simple.
Mais puisque c&#039;est la bonne voie, je vais voir ça de plus près !</description>
		<content:encoded><![CDATA[<p>Merci pour les infos ; j&#8217;étais arrivé à cette solution de Custom UserDetailsService, mais cela m&#8217;a paru compliqué à mettre en oeuvre (je débute complètement avec grails&#8230;et les frameworks java en général) et j&#8217;espérais qu&#8217;il y ait une solution plus simple.<br />
Mais puisque c&#8217;est la bonne voie, je vais voir ça de plus près !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : &#160; Integrando CAS y Grails (francés)&#160;-&#160;Observatorio de Grails</title>
		<link>http://blog.excilys.com/2010/05/06/cas-et-grails-sans-sarcasmes/comment-page-1/#comment-645</link>
		<dc:creator>&#160; Integrando CAS y Grails (francés)&#160;-&#160;Observatorio de Grails</dc:creator>
		<pubDate>Fri, 07 May 2010 08:24:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excilys.com/?p=1512#comment-645</guid>
		<description>[...] información sobre CAS et Grails, sans sarCASmes ! (traducido al [...]</description>
		<content:encoded><![CDATA[<p>[...] información sobre CAS et Grails, sans sarCASmes ! (traducido al [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre-Yves RICAU</title>
		<link>http://blog.excilys.com/2010/05/06/cas-et-grails-sans-sarcasmes/comment-page-1/#comment-641</link>
		<dc:creator>Pierre-Yves RICAU</dc:creator>
		<pubDate>Thu, 06 May 2010 22:24:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excilys.com/?p=1512#comment-641</guid>
		<description>Oui, ça me paraît plutôt clair :-) . Et cela peu avoir du sens, quand on ne souhaite pas devoir importer une base d&#039;utilisateurs ou se brancher sur un service extérieur autre que CAS.

Le gros avantage de Spring Security, c&#039;est qu&#039;il est particulièrement configurable.

L&#039;authentification est fournie par un CasAuthenticationProvider. Celui-ci fait appel à un ticketValidator pour valider les tickets CAS et obtenir l&#039;identité de la personne, puis utilise un userDetailsService pour obtenir les UserDetails (par exemple les rôles) de l&#039;utilisateur qui s&#039;authentifie et les placer dans l&#039;Authentication (qui elle même est ensuite placée en session).

La solution me paraît donc d&#039;utiliser un UserDetailsService custom, qui ne jettera jamais de &quot;UsernameNotFoundException&quot; mais créera l&#039;utilisateur si celui-ci n&#039;est pas dans la base.

Le lien suivant devrait vous éclairer plus en détail sur la customisation du UserDetailsService avec le plugin Acegi : http://www.grails.org/AcegiSecurity+Plugin+-+Custom+UserDetailsService

La racine de la documentation du plugin est ici : http://grails.org/plugin/acegi

Enfin, notez que si certains concepts ne vous paraissent pas clairs dans la doc, le mieux est encore de se référer à la doc officielle du plugin Spring Security, bien plus complète.</description>
		<content:encoded><![CDATA[<p>Oui, ça me paraît plutôt clair <img src='http://blog.excilys.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  . Et cela peu avoir du sens, quand on ne souhaite pas devoir importer une base d&#8217;utilisateurs ou se brancher sur un service extérieur autre que CAS.</p>
<p>Le gros avantage de Spring Security, c&#8217;est qu&#8217;il est particulièrement configurable.</p>
<p>L&#8217;authentification est fournie par un CasAuthenticationProvider. Celui-ci fait appel à un ticketValidator pour valider les tickets CAS et obtenir l&#8217;identité de la personne, puis utilise un userDetailsService pour obtenir les UserDetails (par exemple les rôles) de l&#8217;utilisateur qui s&#8217;authentifie et les placer dans l&#8217;Authentication (qui elle même est ensuite placée en session).</p>
<p>La solution me paraît donc d&#8217;utiliser un UserDetailsService custom, qui ne jettera jamais de &#8220;UsernameNotFoundException&#8221; mais créera l&#8217;utilisateur si celui-ci n&#8217;est pas dans la base.</p>
<p>Le lien suivant devrait vous éclairer plus en détail sur la customisation du UserDetailsService avec le plugin Acegi : <a href="http://www.grails.org/AcegiSecurity+Plugin+-+Custom+UserDetailsService" rel="nofollow">http://www.grails.org/AcegiSecurity+Plugin+-+Custom+UserDetailsService</a></p>
<p>La racine de la documentation du plugin est ici : <a href="http://grails.org/plugin/acegi" rel="nofollow">http://grails.org/plugin/acegi</a></p>
<p>Enfin, notez que si certains concepts ne vous paraissent pas clairs dans la doc, le mieux est encore de se référer à la doc officielle du plugin Spring Security, bien plus complète.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : worm</title>
		<link>http://blog.excilys.com/2010/05/06/cas-et-grails-sans-sarcasmes/comment-page-1/#comment-640</link>
		<dc:creator>worm</dc:creator>
		<pubDate>Thu, 06 May 2010 19:05:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excilys.com/?p=1512#comment-640</guid>
		<description>Merci pour ce bel article ! Il tombe à pic, je me cassais les dents sur la configuration ACEGI + CAS depuis hier.
Vous pouvez peut-être m&#039;éclairer sur un point : dans votre exemple les utilisateurs sont créés dans BootStrap.groovy ; comment pourrait t&#039;on les créer à la volée une fois l&#039;authentification CAS réussie. Est-ce que je suis assez clair ? :)</description>
		<content:encoded><![CDATA[<p>Merci pour ce bel article ! Il tombe à pic, je me cassais les dents sur la configuration ACEGI + CAS depuis hier.<br />
Vous pouvez peut-être m&#8217;éclairer sur un point : dans votre exemple les utilisateurs sont créés dans BootStrap.groovy ; comment pourrait t&#8217;on les créer à la volée une fois l&#8217;authentification CAS réussie. Est-ce que je suis assez clair ? <img src='http://blog.excilys.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

