<?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>Comments on: Securing Your Agatha Service Layer</title>
	<atom:link href="http://davybrion.com/blog/2010/01/securing-your-agatha-service-layer/feed/" rel="self" type="application/rss+xml" />
	<link>http://davybrion.com/blog/2010/01/securing-your-agatha-service-layer/</link>
	<description>Trying to walk that thin line between intelligence and ignorance</description>
	<lastBuildDate>Thu, 29 Jul 2010 20:54:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Davy Brion</title>
		<link>http://davybrion.com/blog/2010/01/securing-your-agatha-service-layer/comment-page-1/#comment-26529</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Fri, 29 Jan 2010 08:00:38 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/securing-your-agatha-service-layer/#comment-26529</guid>
		<description>@Rory

what i was trying to make clear in the setter injection post was that i sometimes use it for _required_ dependencies to avoid having to put it in the constructor of each derived class. I&#039;m not really gonna keep arguing about the validity of that, because i explained my reasons in the other post (and its comments).  I&#039;m not sure if you read it thoroughly though since you seem to think i&#039;m talking about optional dependencies.

thanks for the link btw :)</description>
		<content:encoded><![CDATA[<p>@Rory</p>
<p>what i was trying to make clear in the setter injection post was that i sometimes use it for _required_ dependencies to avoid having to put it in the constructor of each derived class. I&#8217;m not really gonna keep arguing about the validity of that, because i explained my reasons in the other post (and its comments).  I&#8217;m not sure if you read it thoroughly though since you seem to think i&#8217;m talking about optional dependencies.</p>
<p>thanks for the link btw <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rory Primrose</title>
		<link>http://davybrion.com/blog/2010/01/securing-your-agatha-service-layer/comment-page-1/#comment-26495</link>
		<dc:creator>Rory Primrose</dc:creator>
		<pubDate>Thu, 28 Jan 2010 23:37:46 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/securing-your-agatha-service-layer/#comment-26495</guid>
		<description>Busted link - try &lt;a href=&quot;http://msdn.microsoft.com/en-us/magazine/ee321570.aspx&quot; rel=&quot;nofollow&quot;&gt;http://msdn.microsoft.com/en-us/magazine/ee321570.aspx&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Busted link &#8211; try <a href="http://msdn.microsoft.com/en-us/magazine/ee321570.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/magazine/ee321570.aspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rory Primrose</title>
		<link>http://davybrion.com/blog/2010/01/securing-your-agatha-service-layer/comment-page-1/#comment-26494</link>
		<dc:creator>Rory Primrose</dc:creator>
		<pubDate>Thu, 28 Jan 2010 23:36:07 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/securing-your-agatha-service-layer/#comment-26494</guid>
		<description>I read your post that discusses setting injection. I won&#039;t go down the path of others and argue that point as it is done against that post already. However, if this is the pattern you go forward with for optional parameters, then you need to check whether Authenticator is null before referencing it to avoid potential NullReferenceExceptions. The code here describes that Authenticator is a required value. In this case it should be injected via the constructor with a guard clause.

Another point of note is that it might be a good idea to also pass the AssemblyQualifiedName of the type that created the hash of the password. This implementation creates an unspoken contract between the client and server about how to calculate the hash. The hash type used is an assumption at best. If the API allows the client to specify how the hash type then there is no assumption in play.

Bryan Sullivan wrote an article in the August 2009 MSDN mag about Cyrptographic Agility (&lt;a href=&quot;//msdn.microsoft.com/en-us/magazine/ee321570.aspx\&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;) which addresses this issue very well.</description>
		<content:encoded><![CDATA[<p>I read your post that discusses setting injection. I won&#8217;t go down the path of others and argue that point as it is done against that post already. However, if this is the pattern you go forward with for optional parameters, then you need to check whether Authenticator is null before referencing it to avoid potential NullReferenceExceptions. The code here describes that Authenticator is a required value. In this case it should be injected via the constructor with a guard clause.</p>
<p>Another point of note is that it might be a good idea to also pass the AssemblyQualifiedName of the type that created the hash of the password. This implementation creates an unspoken contract between the client and server about how to calculate the hash. The hash type used is an assumption at best. If the API allows the client to specify how the hash type then there is no assumption in play.</p>
<p>Bryan Sullivan wrote an article in the August 2009 MSDN mag about Cyrptographic Agility (<a href="//msdn.microsoft.com/en-us/magazine/ee321570.aspx\" rel="nofollow">here</a>) which addresses this issue very well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Morning Brew - Chris Alcock &#187; The Morning Brew #527</title>
		<link>http://davybrion.com/blog/2010/01/securing-your-agatha-service-layer/comment-page-1/#comment-26416</link>
		<dc:creator>The Morning Brew - Chris Alcock &#187; The Morning Brew #527</dc:creator>
		<pubDate>Thu, 28 Jan 2010 08:35:44 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/2010/01/securing-your-agatha-service-layer/#comment-26416</guid>
		<description>[...] Securing Your Agatha Service Layer - Davy Brion talks about implementing security within his Agatha Service Layer project, which can be achieved by the usual WCF security methods, or as Davy explores in this piece by implementing custom authentication into the request processing. [...]</description>
		<content:encoded><![CDATA[<p>[...] Securing Your Agatha Service Layer &#8211; Davy Brion talks about implementing security within his Agatha Service Layer project, which can be achieved by the usual WCF security methods, or as Davy explores in this piece by implementing custom authentication into the request processing. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
