<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>ASP.NET</title><link>http://blogs.wankuma.com/carbonara/category/608.aspx</link><description>直訳すると“エジプトコブラ通信網”エジプトコブラはクレオパトラが自殺したときに使った毒蛇だそうな。</description><managingEditor>刈歩 菜良 CTP</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>刈歩 菜良 CTP</dc:creator><title>Visual Studio 2008 以前からVisual Studio 2010への移行に関する本が無料！</title><link>http://blogs.wankuma.com/carbonara/archive/2010/09/14/192954.aspx</link><pubDate>Tue, 14 Sep 2010 11:25:00 GMT</pubDate><guid>http://blogs.wankuma.com/carbonara/archive/2010/09/14/192954.aspx</guid><wfw:comment>http://blogs.wankuma.com/carbonara/comments/192954.aspx</wfw:comment><comments>http://blogs.wankuma.com/carbonara/archive/2010/09/14/192954.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/carbonara/comments/commentRss/192954.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/carbonara/services/trackbacks/192954.aspx</trackback:ping><description>&lt;p&gt;ネタ元：「&lt;a href="http://twitter.com/onos/status/24436694723"&gt;http://twitter.com/onos/status/24436694723&lt;/a&gt;」&lt;/p&gt; &lt;p&gt;入手ページ：「&lt;a href="http://blogs.msdn.com/b/microsoft_press/archive/2010/09/13/free-ebook-moving-to-microsoft-visual-studio-2010.aspx" target="_blank"&gt;Free ebook: Moving to Microsoft Visual Studio 2010&lt;/a&gt;」&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;これはとってもタイムリー。&lt;/p&gt; &lt;p&gt;まさに今やってるとこです。&lt;/p&gt; &lt;p&gt;が、きっちり読んでる暇はないかも...&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;ついでに翻訳したいなぁ．．．&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/carbonara/aggbug/192954.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刈歩 菜良 CTP</dc:creator><title>構成ファイルの暗号化／復号化（補足）</title><link>http://blogs.wankuma.com/carbonara/archive/2009/04/08/170991.aspx</link><pubDate>Wed, 08 Apr 2009 13:07:00 GMT</pubDate><guid>http://blogs.wankuma.com/carbonara/archive/2009/04/08/170991.aspx</guid><wfw:comment>http://blogs.wankuma.com/carbonara/comments/170991.aspx</wfw:comment><comments>http://blogs.wankuma.com/carbonara/archive/2009/04/08/170991.aspx#Feedback</comments><slash:comments>79</slash:comments><wfw:commentRss>http://blogs.wankuma.com/carbonara/comments/commentRss/170991.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/carbonara/services/trackbacks/170991.aspx</trackback:ping><description>&lt;p&gt;以下の記事に対する補足情報です。 &lt;p&gt;「&lt;a href="http://blogs.wankuma.com/carbonara/archive/2009/03/28/170316.aspx"&gt;構成ファイルの暗号化／復号化（前編）&lt;/a&gt;」 &lt;p&gt;「&lt;a href="http://blogs.wankuma.com/carbonara/archive/2009/03/30/170434.aspx"&gt;構成ファイルの暗号化／復号化（中編）&lt;/a&gt;」 &lt;p&gt;「&lt;a href="http://blogs.wankuma.com/carbonara/archive/2009/03/31/170475.aspx"&gt;構成ファイルの暗号化／復号化（後編）&lt;/a&gt;」 &lt;p&gt;&amp;nbsp; &lt;p&gt;いつもお世話になっている&lt;a href="http://blog.livedoor.jp/gushwell/"&gt;Gushwellさん&lt;/a&gt;から&lt;a href="http://blogs.wankuma.com/carbonara/archive/2009/03/31/170475.aspx#170945"&gt;コメント&lt;/a&gt;を頂きまして、ちょっとだけ謎が解明できました。 &lt;p&gt;&amp;nbsp; &lt;p&gt;後編ではRSAキーコンテナに対するアクセス権がないとだめよんという話をしました。 &lt;p&gt;RSAキーコンテナに対して特定のユーザーのアクセス権を付与するのにaspnet_regiisの-paオプションを使うのですが、その情報って結局どこでどのように管理されているのかが謎でした。 &lt;p&gt;でも、実行時に出てくるメッセージが &lt;blockquote&gt; &lt;p&gt;RSA キー コンテナへのアクセスのために ACL を追加しています...&lt;br&gt;成功しました!&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;なので、ACLを使っているのはわかるのですが、どこの？ってとこが疑問だったんですね。 &lt;p&gt;&amp;nbsp; &lt;p&gt;で、&lt;a href="http://blog.livedoor.jp/gushwell/"&gt;Gushwellさん&lt;/a&gt;からの情報を元に色々と調べてみると、ありましたありました。 &lt;p&gt;ずばりこちらのフォルダ &lt;p&gt;C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys &lt;p&gt;に良くありがちなごにょごにょした名前のファイルがいくつか登録されておりました。 &lt;p&gt;どれがどれでどうなんだか分らないのですが、適当なファイルを右クリックしてセキュリティを確認するとそこにaspnet_regiisの-paオプションで追加したユーザーが登録されていて、読み取りだけに権限が付与されていました。 &lt;p&gt;&amp;nbsp; &lt;p&gt;なるほど～。意外と超シンプルな仕組みだったんですねぇ。 &lt;p&gt;なっとくなっとく。 &lt;p&gt;&amp;nbsp; &lt;p&gt;ちなみに、&lt;a href="http://blog.livedoor.jp/gushwell/"&gt;Gushwellさん&lt;/a&gt;に教えていただいたフォルダは &lt;blockquote&gt; &lt;p&gt;C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;だったのですが、XPとWindows Server 2003 R2で確認したところ、そもそもC:\ProgramDataが存在していませんでした。 &lt;p&gt;&amp;nbsp; &lt;p&gt;何はともあれ、すっきりしました。 &lt;p&gt;&lt;a href="http://blog.livedoor.jp/gushwell/"&gt;Gushwellさん&lt;/a&gt;ありがとうございます！！＆ 遅くなりましたが、MVP再受賞おめでとうございます！！ &lt;p&gt;&amp;nbsp; &lt;p&gt;ところで、例のごにょごにょしたファイル名ってMD5かなんかかしら？ &lt;p&gt;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ の下もごにょごにょありますが、あれはまた別っぽいですね。 &lt;p&gt;えろいひと、おせーて。 &lt;p&gt;(・o・)&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/carbonara/aggbug/170991.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刈歩 菜良 CTP</dc:creator><title>構成ファイルの暗号化／復号化（後編）</title><link>http://blogs.wankuma.com/carbonara/archive/2009/03/31/170475.aspx</link><pubDate>Tue, 31 Mar 2009 04:35:00 GMT</pubDate><guid>http://blogs.wankuma.com/carbonara/archive/2009/03/31/170475.aspx</guid><wfw:comment>http://blogs.wankuma.com/carbonara/comments/170475.aspx</wfw:comment><comments>http://blogs.wankuma.com/carbonara/archive/2009/03/31/170475.aspx#Feedback</comments><slash:comments>806</slash:comments><wfw:commentRss>http://blogs.wankuma.com/carbonara/comments/commentRss/170475.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/carbonara/services/trackbacks/170475.aspx</trackback:ping><description>&lt;P&gt;こっからの続きです。&lt;/P&gt;
&lt;P&gt;「&lt;A href="http://blogs.wankuma.com/carbonara/archive/2009/03/28/170316.aspx"&gt;構成ファイルの暗号化／復号化（前編）&lt;/A&gt;」&lt;/P&gt;
&lt;P&gt;「&lt;A href="http://blogs.wankuma.com/carbonara/archive/2009/03/30/170434.aspx"&gt;構成ファイルの暗号化／復号化（中編）&lt;/A&gt;」&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;中編ではエラーの原因が暗号化のときに使われるRSAキーコンテナに対するアクセス権がないっちうところまで確認してきました。&lt;/P&gt;
&lt;P&gt;ほぢゃらば、アクセス権を与えましょ。&lt;/P&gt;
&lt;P&gt;で、誰に？？&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;RSAキーコンテナにアクセスするのをだれぞ？&lt;/H3&gt;
&lt;P&gt;これは言うまでもなく、ASP.NETのプロセスを動かしてる人です。&lt;/P&gt;
&lt;P&gt;Windows Server 2003以降ならNETWORK SERVICEだし、それ以前ならASPNETなはずです。&lt;/P&gt;
&lt;P&gt;が、しかし、偽装をONにしてる場合は話が変わってきます。&lt;/P&gt;
&lt;P&gt;固定に偽装してる場合と、Webアプリにアクセスするユーザに偽装してる場合と...&lt;/P&gt;
&lt;P&gt;あぁ、でもこの話に行くとまた長くなるので、偽装の話は後日書きましょか。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;で、今回は偽装なしでってことで。(^^ゞ&lt;/P&gt;
&lt;P&gt;でも、それでも疑り深いあなたは。System.Security.Principal.WindowsIdentity.GetCurrent().Nameプロパティを表示するようなページを作って実際のアカウントを確認してみましょう。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;RSAキーコンテナにアクセスできるようにしよう！&lt;/H3&gt;
&lt;P&gt;これまたaspnet_regiis.exeを使います。こないな感じ。&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;aspnet_regiis -pa &lt;EM&gt;RSAキーコンテナ名 アカウント&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;具体例としてはこないな感じ。&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE"&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;これで一件落着、さっきのエラーがウソみたいにすっと実行できるようになります。&lt;/P&gt;
&lt;P&gt;ちなみに、権限を外すにはオプションを-prにしましょう。&lt;/P&gt;
&lt;P&gt;しかし、この権限情報ってどこでどう管理されてるんでしょ。&lt;/P&gt;
&lt;P&gt;気になるぅ～～～。&lt;/P&gt;
&lt;P&gt;だれかえろいひとおせーて。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;構成ファイルを復号化するには&lt;/H3&gt;
&lt;P&gt;暗号化したはいいけど、その暗号化した情報を修正したい場合もありますよね。&lt;/P&gt;
&lt;P&gt;そんな時は一旦復号化すりゃええんですな。&lt;/P&gt;
&lt;P&gt;復号化は&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;aspnet_regiis -pdf &lt;EM&gt;要素名 構成ファイルのフォルダ&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;でOKです。&lt;/P&gt;
&lt;P&gt;具体的には&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;aspnet_regiis -pdf "connectionStrings" c:\InetPub\wwwroot\SampleWeb&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;修正したら-pefでまた暗号化しましょう。&lt;/P&gt;
&lt;P&gt;RSAキーコンテナに対する権限はすでに与えているので、一度やればもうやらなくってOKよん。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;いやぁ、ガラにもなく技術ネタ3連発はなんだか疲れちゃったわ（ん？4連発か）。&lt;/P&gt;
&lt;P&gt;あさって（あ、いや、もう明日か）はそうはイカの金玉ですが。(^・^)&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/carbonara/aggbug/170475.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刈歩 菜良 CTP</dc:creator><title>構成ファイルの暗号化／復号化（中編）</title><link>http://blogs.wankuma.com/carbonara/archive/2009/03/30/170434.aspx</link><pubDate>Mon, 30 Mar 2009 15:01:00 GMT</pubDate><guid>http://blogs.wankuma.com/carbonara/archive/2009/03/30/170434.aspx</guid><wfw:comment>http://blogs.wankuma.com/carbonara/comments/170434.aspx</wfw:comment><comments>http://blogs.wankuma.com/carbonara/archive/2009/03/30/170434.aspx#Feedback</comments><slash:comments>173</slash:comments><wfw:commentRss>http://blogs.wankuma.com/carbonara/comments/commentRss/170434.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/carbonara/services/trackbacks/170434.aspx</trackback:ping><description>&lt;P&gt;前編はこちら：「&lt;A href="http://blogs.wankuma.com/carbonara/archive/2009/03/28/170316.aspx"&gt;構成ファイルの暗号化／復号化（前編）&lt;/A&gt;」&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;前回は構成ファイルを暗号化して実行したけどうまくいかないっ！ってとこまで見ていきました。&lt;/P&gt;
&lt;P&gt;まずはエラーメッセージを確認してみましょう。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;エラーメッセージ、こんなん出ましたけど。&lt;/H3&gt;
&lt;BLOCKQUOTE&gt;&lt;SPAN&gt;
&lt;H1&gt;&lt;FONT color=#ff0000&gt;'/WebApp' アプリケーションでサーバー エラーが発生しました。&lt;/FONT&gt; 
&lt;HR color=silver SIZE=1 width="100%"&gt;
&lt;/H1&gt;
&lt;H2&gt;&lt;I&gt;&lt;FONT color=#800000&gt;構成にエラーがあります。&lt;/FONT&gt;&lt;/I&gt; &lt;/H2&gt;&lt;/SPAN&gt;&lt;FONT face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "&gt;&lt;B&gt;説明: &lt;/B&gt;この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。 &lt;BR&gt;&lt;BR&gt;&lt;B&gt;パーサー エラー メッセージ: &lt;/B&gt;プロバイダ 'RsaProtectedConfigurationProvider' を使用して復号化することができませんでした。プロバイダからのエラー メッセージ: RSA キー コンテナを開くことができませんでした。&lt;BR&gt;&lt;BR&gt;&lt;B&gt;ソース エラー:&lt;/B&gt; &lt;BR&gt;&lt;BR&gt;
&lt;TABLE width="100%" bgColor=#ffffcc&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;&lt;PRE&gt;行 11:  
行 12:  &lt;CONNECTIONSTRINGS configProtectionProvider="RsaProtectedConfigurationProvider"&gt;
&lt;FONT color=red&gt;行 13:   &lt;ENCRYPTEDDATA font &lt; Type="http://www.w3.org/2001/04/xmlenc#Element"&gt;行 14:    xmlns="http://www.w3.org/2001/04/xmlenc#"&amp;gt;
行 15:    &lt;ENCRYPTIONMETHOD Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" /&gt;&lt;/PRE&gt;&lt;/CODE&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;B&gt;ソース ファイル: &lt;/B&gt;D:\webappsite\webapp\web.config&lt;B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 行: &lt;/B&gt;13 &lt;BR&gt;&lt;BR&gt;
&lt;HR color=silver SIZE=1 width="100%"&gt;
&lt;B&gt;バージョン情報:&lt;/B&gt; Microsoft .NET Framework バージョン:2.0.50727.3082; ASP.NET バージョン:2.0.50727.3082 &lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ポイントはずばり「RSA キー コンテナを開くことができませんでした。」にあります。&lt;/P&gt;
&lt;P&gt;あと、「プロバイダ 'RsaProtectedConfigurationProvider' を使用して復号化することができませんでした。」を見てみると、そのエラーを出しているプロバイダーが&amp;#8220;RsaProtectedConfigurationProvider&amp;#8221;だってこともわかります。&lt;/P&gt;
&lt;P&gt;さらに、謎解きの手がかりとして暗号化前と後のweb.configを見比べてみましょう。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;web.config に残された手がかり&lt;/H3&gt;
&lt;P&gt;まずは暗号化前のconnectionStrings要素を抜粋&lt;/P&gt;&lt;PRE style="BORDER-BOTTOM: #cecece 1px solid; BORDER-LEFT: #cecece 1px solid; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #f4f4f4; MIN-HEIGHT: 40px; PADDING-LEFT: 5px; WIDTH: 98%; PADDING-RIGHT: 5px; OVERFLOW: auto; BORDER-TOP: #cecece 1px solid; BORDER-RIGHT: #cecece 1px solid; PADDING-TOP: 5px"&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  1: &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;connectionStrings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  2:     &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;add&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;name&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"carboDBConnectionString"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;connectionString&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"Data Source=localhost;Initial Catalog=CARBODB;Persist Security Info=True;User ID=CARBODB;Password=CARBODB"&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  3:     &lt;SPAN style="COLOR: #ff0000"&gt;providerName&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"System.Data.SqlClient"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  4: &lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;connectionStrings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  5: &lt;/PRE&gt;&lt;/PRE&gt;
&lt;DIV class=csharpcode&gt;&lt;SPAN class=kwrd&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
 font-size: small;
 color: black;
 font-family: consolas, "Courier New", courier, monospace;
 background-color: #ffffff;
 /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
 background-color: #f4f4f4;
 width: 100%;
 margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;

&lt;P&gt;次に暗号化後&lt;/P&gt;&lt;PRE style="BORDER-BOTTOM: #cecece 1px solid; BORDER-LEFT: #cecece 1px solid; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #f4f4f4; MIN-HEIGHT: 40px; PADDING-LEFT: 5px; WIDTH: 98%; PADDING-RIGHT: 5px; OVERFLOW: auto; BORDER-TOP: #cecece 1px solid; BORDER-RIGHT: #cecece 1px solid; PADDING-TOP: 5px"&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  1: &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;connectionStrings&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;configProtectionProvider&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"RsaProtectedConfigurationProvider"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  2:   &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;EncryptedData&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;Type&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"http://www.w3.org/2001/04/xmlenc#Element"&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  3:    &lt;SPAN style="COLOR: #ff0000"&gt;xmlns&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"http://www.w3.org/2001/04/xmlenc#"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  4:    &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;EncryptionMethod&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;Algorithm&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"http://www.w3.org/2001/04/xmlenc#tripledes-cbc"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  5:    &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;KeyInfo&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;xmlns&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"http://www.w3.org/2000/09/xmldsig#"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  6:     &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;EncryptedKey&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;xmlns&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"http://www.w3.org/2001/04/xmlenc#"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  7:      &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;EncryptionMethod&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;Algorithm&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"http://www.w3.org/2001/04/xmlenc#rsa-1_5"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  8:      &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;KeyInfo&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;xmlns&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"http://www.w3.org/2000/09/xmldsig#"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  9:       &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;KeyName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;Rsa Key&lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;KeyName&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt; 10:      &lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;KeyInfo&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt; 11:      &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CipherData&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt; 12:       &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CipherValue&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;TSN6xejPlJgaMCi94oOOKr8su62WZJ7lY7X5+VBVh4LHAvl4E6pmmRoPDs5B1o4ui06dYNYUgOZ3zwj6c+fWj3ttB3mfZkxgjjQbl3K7Rjo7UcrM+FI1GGzhvTJq3wD8uA7XGFjYDTtNqDdcmEcBD83TjvUvpuEz3FXmpScFpUo=&lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;CipherValue&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt; 13:      &lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;CipherData&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt; 14:     &lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;EncryptedKey&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt; 15:    &lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;KeyInfo&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt; 16:    &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CipherData&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt; 17:     &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;CipherValue&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;2QtsIq7IlftkzC8nNffjJ5eQ8kRJOt2RTDe9DrLsK8KDyj//60hjmDXJ5ELtwyanRVYoNGyKS1bB9Gr6al5IbodO3q+ghBJjpo0EuF/Hxj4/KC7q+3VYv/TkaqDMMKmJzUBbeypDn3Bg/9azEvDlsisdIMN0+kZUlsfRstRMXxG6h0SGteyibqnRPxCaUvU0SDfII1jbJvEM9efqAPsME3hHnlBsjQBfzcgagVAGJSm3WUo2r1as2e2lxy+7iHK1Jmv+W9AV0nAJhIo3Zrfjge6YqmRmMLzSakLvhE9oq6E2yV+VXfIbgpFPou5MW7jRWNUL59lt0n9bX6CGReeMvQ==&lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;CipherValue&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt; 18:    &lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;CipherData&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt; 19:   &lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;EncryptedData&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt; 20: &lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;connectionStrings&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt; 21: &lt;/PRE&gt;&lt;/PRE&gt;
&lt;DIV class=csharpcode&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
 font-size: small;
 color: black;
 font-family: consolas, "Courier New", courier, monospace;
 background-color: #ffffff;
 /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
 background-color: #f4f4f4;
 width: 100%;
 margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;

&lt;P&gt;めっさ行が増えてるけど、ポイントは１行目。&lt;/P&gt;
&lt;P&gt;configProtectionProvider="RsaProtectedConfigurationProvider"&lt;/P&gt;
&lt;P&gt;ここで暗号化に使われているプロバイダーが指定されております。&lt;/P&gt;
&lt;P&gt;# なぜかMSDNのconnectionStrings要素に説明がないんですが...&lt;/P&gt;
&lt;P&gt;でも、キーコンテナに関する記述がありません。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;実は、RsaProtectedConfigurationProviderが使うキーコンテナ名はデフォルト値なので、個々の構成ファイルに記述はなくって、machine.configに記述があります。&lt;/P&gt;
&lt;P&gt;ってことで、該当のmachine.configへ。&lt;/P&gt;
&lt;P&gt;# あ、ちなみに、machine.configは%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\CONFIGの下にあるのよ。&lt;/P&gt;
&lt;P&gt;# さらに、.NET Framework 3.0も3.5もコアは2.0と同じなので、machine.configの場所も同じ。&lt;/P&gt;&lt;PRE style="BORDER-BOTTOM: #cecece 1px solid; BORDER-LEFT: #cecece 1px solid; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #f4f4f4; MIN-HEIGHT: 40px; PADDING-LEFT: 5px; WIDTH: 98%; PADDING-RIGHT: 5px; OVERFLOW: auto; BORDER-TOP: #cecece 1px solid; BORDER-RIGHT: #cecece 1px solid; PADDING-TOP: 5px"&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  1: &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;configProtectedData&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;defaultProvider&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"RsaProtectedConfigurationProvider"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  2:     &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;providers&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  3:         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;add&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;name&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"RsaProtectedConfigurationProvider"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;type&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;description&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"Uses RsaCryptoServiceProvider to encrypt and decrypt"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;keyContainerName&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"NetFrameworkConfigurationKey"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;cspProviderName&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;""&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;useMachineContainer&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"true"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;useOAEP&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"false"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  4:         &lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;add&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;name&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"DataProtectionConfigurationProvider"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;type&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"System.Configuration.DpapiProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;description&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"Uses CryptProtectData and CryptUnProtectData Windows APIs to encrypt and decrypt"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;useMachineProtection&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;"true"&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;keyEntropy&lt;/SPAN&gt;=&lt;SPAN style="COLOR: #0000ff"&gt;""&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;/&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  5:     &lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;providers&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #ffffff; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  6: &lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt; span&gt;&lt;SPAN style="COLOR: #800000"&gt;configProtectedData&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;PRE style="BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; WIDTH: 100%; FONT-FAMILY: consolas,'Courier New',courier,monospace; FONT-SIZE: 12px"&gt;  7: &lt;/PRE&gt;&lt;/PRE&gt;
&lt;P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE&gt;&lt;SPAN class=kwrd&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;STYLE type=text/css&gt;.csharpcode, .csharpcode pre
{
 font-size: small;
 color: black;
 font-family: consolas, "Courier New", courier, monospace;
 background-color: #ffffff;
 /*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
 background-color: #f4f4f4;
 width: 100%;
 margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/STYLE&gt;

&lt;P&gt;うしろーーーーの方に書いてあるけど、&lt;/P&gt;
&lt;P&gt;keyContainerName="NetFrameworkConfigurationKey"&lt;/P&gt;
&lt;P&gt;ってのがキーコンテナ名でございます。&lt;/P&gt;
&lt;P&gt;で、このキーコンテナを開けることができないっちゅーエラーだったわけなんです。&lt;/P&gt;
&lt;P&gt;いわゆるアクセス権限がない状態です。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;じゃぁ、権限をあげよーってことなのですが、またまた長くなってきたんで、続きは後編で。&lt;/P&gt;
&lt;P&gt;☆ﾐ(*^▽^*)ﾉ彡☆&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#d3d3d3&gt;# えぇ、「後編」を「中編」に変えちゃいました。（＾－＾）&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#d3d3d3&gt;# だって長い記事って読む気なくすでしょ。(^・^)&lt;/FONT&gt;&lt;/P&lt; P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/carbonara/aggbug/170434.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刈歩 菜良 CTP</dc:creator><title>構成ファイルの暗号化／復号化（前編）</title><link>http://blogs.wankuma.com/carbonara/archive/2009/03/28/170316.aspx</link><pubDate>Sat, 28 Mar 2009 00:49:00 GMT</pubDate><guid>http://blogs.wankuma.com/carbonara/archive/2009/03/28/170316.aspx</guid><wfw:comment>http://blogs.wankuma.com/carbonara/comments/170316.aspx</wfw:comment><comments>http://blogs.wankuma.com/carbonara/archive/2009/03/28/170316.aspx#Feedback</comments><slash:comments>789</slash:comments><wfw:commentRss>http://blogs.wankuma.com/carbonara/comments/commentRss/170316.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/carbonara/services/trackbacks/170316.aspx</trackback:ping><description>&lt;P&gt;おばんです。&lt;/P&gt;
&lt;P&gt;やはり今日も日付を超える前に帰れなんだ...&lt;/P&gt;
&lt;P&gt;ので、記事書いてからおうちに帰えろっと。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ところで、OSの記事を書いたら右の「あわせて読みたい」もごろっと変わっててびっくりしました。&lt;/P&gt;
&lt;P&gt;今はわたくしの心の師匠&lt;A href="http://blogs.wankuma.com/episteme/" target=_blank&gt;επιさんのページ&lt;/A&gt;がトップに返り咲いていて一安心。(^・^)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;で、今日は構成ファイルの暗号化／復号化のお話です。&lt;/P&gt;
&lt;P&gt;ASP.NETでweb.configなんかにDBのユーザー名・パスワードみたいなちょっと盗まれたら困るようなデータを入れるときにつかったりします。&lt;/P&gt;
&lt;P&gt;# が、実際使われてるんかなぁ。web.configが盗み見られる時点でそれ以前のセキュリティがダメダメって話が...&lt;/P&gt;
&lt;P&gt;# ま、二重三重のセキュリティという意味では意味があるっちゃあるんやけど。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;便利なのは構成ファイルを暗号化してもソースコードは一切変更する必要がないってとこですね。&lt;/P&gt;
&lt;P&gt;だから、すでに運用が始まっているアプリケーションもあとでweb.configだけ暗号化しても大丈夫。&lt;/P&gt;
&lt;P&gt;# ただし、知らないとちょっとハマりどころはありますが...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;使うツール&lt;/H2&gt;
&lt;P&gt;web.configを暗号化／復号化するにはaspnet_regiis.exeを使います。&lt;/P&gt;
&lt;P&gt;そうそう、ASP.NETがおかしくなっちゃったときに修復したり、IIS入れ忘れててVisual Studioを先に入れちゃったりして、IIS側にASP.NETの設定がされなかったりしたときに使うやつです。&lt;/P&gt;
&lt;P&gt;暗号化にも使うんです。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;暗号化はこんな感じ&lt;/H2&gt;
&lt;BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr&gt;
&lt;P&gt;aspnet_regiis -pef &lt;EM&gt;セクション名&lt;/EM&gt; &lt;EM&gt;web.configがあるフォルダ&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;MSDNとかには-peオプションを使ってIIS上に配置済みのWebアプリのweb.configを暗号化する方法が紹介されてるけど、IISに配置前に暗号化したいことも多いので、私は-pefオプションの方が使い勝手が良いように思います。&lt;/P&gt;
&lt;P&gt;で、実際の具体例は&lt;/P&gt;
&lt;BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr&gt;
&lt;P&gt;aspnet_regiis -pef "connectionStrings" c:\inetpub\wwwroot\WebApp&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;みたいな感じです。&lt;/P&gt;
&lt;P&gt;注意してほしいのはweb.configファイルを直接指定するんぢゃなくってweb.configファイルがある場所を指定するってとこかな。&lt;/P&gt;
&lt;P&gt;あと、そうそう、知っている人が圧倒的に多いと思うけど、aspnet_regiis.exeにはパスが通ってないんで、普通のコマンドプロンプトぢゃなくってVisual Studioのコマンドプロンプト使ってちょうだいね。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;んぢゃ、暗号化が終わったところで、Webアプリをレッツ実行！&lt;/P&gt;
&lt;P&gt;えぇ！！&lt;/P&gt;
&lt;P&gt;うまくいかないんだなこれが。&lt;/P&gt;
&lt;P&gt;復号化は勝手にしてくれるんちゃうん！！&lt;/P&gt;
&lt;P&gt;そりゃないぜせにょ～る。&lt;/P&gt;
&lt;P&gt;┐('～`；)┌&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;わたくしねみゅねみゅなので続きはまたねん。&lt;/P&gt;
&lt;P&gt;☆ﾐ(*^▽^*)ﾉ彡☆&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#d3d3d3&gt;# 全部書くつもりやったけど、まだ会社やし、もういい加減帰りたいからタイトルに後付けで（前編）って書いたのはココだけの秘密。&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;# コメントで答え書いちゃわないでね～ん。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/carbonara/aggbug/170316.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刈歩 菜良</dc:creator><title>Windows Server 2008のサーバーコア上IISではASP.NETは動きまへん</title><link>http://blogs.wankuma.com/carbonara/archive/2007/06/29/82887.aspx</link><pubDate>Fri, 29 Jun 2007 13:01:00 GMT</pubDate><guid>http://blogs.wankuma.com/carbonara/archive/2007/06/29/82887.aspx</guid><wfw:comment>http://blogs.wankuma.com/carbonara/comments/82887.aspx</wfw:comment><comments>http://blogs.wankuma.com/carbonara/archive/2007/06/29/82887.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.wankuma.com/carbonara/comments/commentRss/82887.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/carbonara/services/trackbacks/82887.aspx</trackback:ping><description>&lt;P&gt;ネタ元「&lt;A href="http://itpro.nikkeibp.co.jp/article/NEWS/20070628/276227/"&gt;マイクロソフト，サーバーコア上でIISが使用できるWindows Server 2008評価版を公開&lt;/A&gt;」&lt;/P&gt;
&lt;P&gt;えぇーーーーーーーー。&lt;/P&gt;
&lt;P&gt;CE とかに .NET Framework のるのに、なぢぇにWindows Server 2008のサーバーコアには.NET Frameworkのりませんのん？&lt;BR&gt;# ん？ちと、つっこみずれてる？&lt;/P&gt;
&lt;P&gt;ま、サーバーコアでない（？）IISでは使えるから良いけどさ...&lt;BR&gt;# これもずれてるような、ずれてないような。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/carbonara/aggbug/82887.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刈歩 菜良</dc:creator><title>WebアプリからWCF使いたくても［Add Service Reference...］メニューが出てこんがなぁ。</title><link>http://blogs.wankuma.com/carbonara/archive/2007/06/15/80790.aspx</link><pubDate>Fri, 15 Jun 2007 03:33:00 GMT</pubDate><guid>http://blogs.wankuma.com/carbonara/archive/2007/06/15/80790.aspx</guid><wfw:comment>http://blogs.wankuma.com/carbonara/comments/80790.aspx</wfw:comment><comments>http://blogs.wankuma.com/carbonara/archive/2007/06/15/80790.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blogs.wankuma.com/carbonara/comments/commentRss/80790.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/carbonara/services/trackbacks/80790.aspx</trackback:ping><description>&lt;P&gt;てなことは、前から気付いてたんやけどね。&lt;/P&gt;
&lt;P&gt;で、「Visual Studio 2005 は正式に .NET Framework 3.0 に対応してるわけやないから、しゃあないね。」と、あきらめて、コマンドで&lt;/P&gt;
&lt;P&gt;svcutil.exe http://どこぞのサーバー/WCFServe/Service.svc?wsdl&lt;/P&gt;
&lt;P&gt;って、やっててんけどさぁ。&lt;/P&gt;
&lt;P&gt;ひょんなことから、Web アプリでも［Add Service Reference...］メニューが出ることに気づいた。&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#006400 size=6&gt;なんと、Web アプリにApp_Codeフォルダがあると、［Webサイト］メニューに［Add Service Reference...］があるやん！&lt;BR&gt;&lt;/FONT&gt;# 右クリックには相変わらず出ーへんよ。&lt;BR&gt;わーい！やっぱWebアプリでもできるんやぁ。と、喜んだのもつかの間。実行してみると、&lt;/P&gt;
&lt;P&gt;「オブジェクト参照がオブジェクトインスタンスに設定されていません。」&lt;/P&gt;
&lt;P&gt;えーーーーーーーーー&lt;BR&gt;なぢぇ、この期に及んで NullReferenceException やねんなぁ。&lt;/P&gt;
&lt;P&gt;でも、望みを捨てきれず、ごにょごにょごにょごによ・・・&lt;BR&gt;おかげさまで、また朝までコースかよっ。&lt;/P&gt;
&lt;P&gt;はい、結局解決できまへんでした。&lt;BR&gt;(T_T)&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ffffff&gt;いやぁ、ほんと、いい加減こんな時間まで仕事するのはやめたいぞ。&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/carbonara/aggbug/80790.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刈歩 菜良</dc:creator><title>ユーザ認証のハマりどころ</title><link>http://blogs.wankuma.com/carbonara/archive/2006/10/24/42357.aspx</link><pubDate>Tue, 24 Oct 2006 16:43:00 GMT</pubDate><guid>http://blogs.wankuma.com/carbonara/archive/2006/10/24/42357.aspx</guid><wfw:comment>http://blogs.wankuma.com/carbonara/comments/42357.aspx</wfw:comment><comments>http://blogs.wankuma.com/carbonara/archive/2006/10/24/42357.aspx#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://blogs.wankuma.com/carbonara/comments/commentRss/42357.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/carbonara/services/trackbacks/42357.aspx</trackback:ping><description>&lt;P&gt;久々の技術ネタです。( ;^^)ヘ..&lt;BR&gt;てか、まともなんは初めて？？ （￣□￣；）！！&lt;/P&gt;
&lt;P&gt;Windows アプリケーション、Web アプリケーションにかかわらず、ユーザー認証を行いたい場合はプリンシパルを使います。いろんなパターンがありますが、ロール（グループ）の認証でよいのならば、一番単純なのがIsInRoleを使った認証。&lt;BR&gt;たとえばこないな具合。&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;CODE&gt;if (myPrincipal.IsInRole(&lt;EM&gt;属していなければいけないロール&lt;/EM&gt;))&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 属してるから認証おつけい！&lt;BR&gt;}&lt;BR&gt;else&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// 属してへんがな！エラー処理。&lt;BR&gt;}&lt;/CODE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;たとえば、Dev1 グループに属してへんとできへん処理ややらしたない処理がある場合はIsInRoleの引数に"Dev1"と書けば良いんやね。&lt;/P&gt;
&lt;P&gt;と、思ったら&lt;FONT size=5&gt;大間違い！！&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Windows認証でグループを指定する場合は、そのグループが属するドメイン名(ローカルグループの場合はPC名)を指定せないかんのですねぇ。&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;【正解】&lt;BR&gt;&lt;CODE&gt;if (myPrincipal.IsInRole("Karubo-PC\\Dev1"))&lt;/CODE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;ほしたらば、ローカルマシンの Administrators グループに属してるかどうか確認したい場合は、&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;CODE&gt;if (myPrincipal.IsInRole("Karubo-PC\\Administrators"))&lt;/CODE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;って書けばよいわけやね。&lt;/P&gt;
&lt;P align=left&gt;と、思ったら&lt;FONT size=5&gt;超間違い！！&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=center&gt;そう、ここがまさに&lt;FONT color=#ff0000 size=6&gt;ハマりどころ！！&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Administratorsをはじめ、UsersなどのOS標準のグループはビルトイングループと呼ばれてるんやけど、ビルトイングループで認証をする場合はPC名ぢゃなくってBUILTINと書かなければいかんのよねぇ。&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;【正解】&lt;BR&gt;&lt;CODE&gt;if (myPrincipal.IsInRole("BUILTIN\\Administrators"))&lt;/CODE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;ちなみにちなみに、.NET2.0からはローカルグループやビルトイングループの認証の場合は、ロール名（グループ名）だけでよくなったみたい。&lt;/P&gt;
&lt;P&gt;今回はIsInRoleでの認証を例に紹介しましたが、宣言セキュリティ（PrincipalPermission属性）や強制セキュリティ（PrincipalPermissionクラス）でロールを指定する場合もおんなじですよ。&lt;/P&gt;
&lt;P&gt;去年の夏にわたくしはここで1～2週間ハマりましたわ。だって、MSDNライブラリのIsInRoleのとこ見てもそんなことひとっことも書いてくれてへんのやもん。もち、フィードバックしときましたが...&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;参考までにサンプルプログラムおば、&lt;/P&gt;
&lt;P align=center&gt;&lt;FONT size=6&gt;【サンプルコーナー】&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;【Windows アプリ編】&lt;BR&gt;・Windowsフォームのプロジェクトを作成&lt;/P&gt;
&lt;P&gt;・フォームにラベル2つとテキストボックス、ボタンをはっつける。名前はデフォルトのまんま。2つめのラベル(label2)は結果表示用なので、下のほうに大きくはっつけてください。&lt;/P&gt;
&lt;P&gt;・ボタンをダブルクリックしてイベントハンドラ作成。&lt;/P&gt;
&lt;P&gt;・コードファイルの先頭行に以下の2行を追加&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;CODE&gt;using System.Security.Principal;&lt;BR&gt;using System.Threading;&lt;/CODE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;・コンストラクタ（public Form1()って書いてるとこね。）に以下の1行を追加&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;CODE&gt;Thread.CurrentPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());&lt;/CODE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;・button1_Clickイベントハンドラに以下を追加&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;CODE&gt;IPrincipal myPrincipal = Thread.CurrentPrincipal;&lt;BR&gt;label2.Text = textBox1.Text + "に属して";&lt;BR&gt;if (myPrincipal.IsInRole(textBox1.Text))&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label2.Text += "います。";&lt;BR&gt;}&lt;BR&gt;else&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; label2.Text += "いません。";&lt;BR&gt;}&lt;/CODE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;・で、完成！後は実行して、テキストボックスにロールを入れてボタンをクリックして下さいまし。2005の人はAdministratorsと入れただけで認証が通りますが、2003以前の方だとBUILTIN\Administratorsと入れないと認証が通りませんよ。&lt;/P&gt;
&lt;P&gt;【Web アプリ編】&lt;BR&gt;・Webフォームのプロジェクトを作成。作成場所はファイルシステムでもIIS上でもかまいませんが、IIS上に作った場合はIISの設定で統合Windows認証を有効にしてください。&lt;BR&gt;（管理ツール→[インターネットインフォメーションサービス]を起動。Webアプリのフォルダで右クリック→プロパティ。[ディレクトリ セキュリティ]タブの「匿名アクセスおよび認証コントロール」のところにある［編集］ボタンをクリック。一番下の［統合Windows認証］をチェック）&lt;/P&gt;
&lt;P&gt;・フォームにテキストボックス、ボタン、ラベルをはっつける。名前はデフォルトのまんま。ラベル(Label1)は結果表示用なので、改行してはっつけてください。2005の方で面倒くさい方は以下のコードをコピーして&amp;lt;div&amp;gt;の下に貼り付けてもOK。&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;CODE&gt;ロール名を入力してください：&amp;lt;asp:TextBox ID="TextBox1" runat="server"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;BR&gt;&amp;lt;asp:Button ID="Button1" runat="server" Text="ロールチェック" OnClick="Button1_Click" /&amp;gt;&amp;lt;br /&amp;gt;&lt;BR&gt;&amp;lt;br /&amp;gt;&lt;BR&gt;&amp;lt;asp:Label ID="Label1" runat="server"&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;/CODE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;・ボタンをダブルクリックしてイベントハンドラ作成して以下を追加&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;CODE&gt;Label1.Text = TextBox1.Text + "に属して";&lt;BR&gt;if (User.IsInRole(TextBox1.Text))&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Label1.Text += "います。";&lt;BR&gt;}&lt;BR&gt;else&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Label1.Text += "いません。";&lt;BR&gt;}&lt;/CODE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;・Web.configがなければ新規に追加して、&lt;CODE&gt;&amp;lt;system.web&amp;gt;&lt;/CODE&gt;要素内に以下を追加。&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;CODE&gt;&amp;lt;identity impersonate="true"/&amp;gt;&lt;BR&gt;&amp;lt;authorization&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;deny users="?"/&amp;gt;&lt;BR&gt;&amp;lt;/authorization&amp;gt;&lt;/CODE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;・で、完成！後は実行して、テキストボックスにロールを入れてボタンをクリックして下さいまし。2005の人はAdministratorsと入れただけで認証が通りますが、2003以前の方だとBUILTIN\Administratorsと入れないと認証が通りませんよ。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/carbonara/aggbug/42357.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刈歩 菜良</dc:creator><title>なぜコードビハインドするとクラスは継承関係にならなければいけないのか勝手に考えてみました</title><link>http://blogs.wankuma.com/carbonara/archive/2006/09/21/39241.aspx</link><pubDate>Thu, 21 Sep 2006 10:18:00 GMT</pubDate><guid>http://blogs.wankuma.com/carbonara/archive/2006/09/21/39241.aspx</guid><wfw:comment>http://blogs.wankuma.com/carbonara/comments/39241.aspx</wfw:comment><comments>http://blogs.wankuma.com/carbonara/archive/2006/09/21/39241.aspx#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://blogs.wankuma.com/carbonara/comments/commentRss/39241.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/carbonara/services/trackbacks/39241.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://blogs.wankuma.com/carbonara/archive/2006/09/20/39167.aspx"&gt;@PageディレクティブのInherits属性ってば&lt;/A&gt;の続きです。&lt;/P&gt;
&lt;P&gt;昨日お風呂でぼ～っと考えてたらなんとなく思いついた！&lt;BR&gt;もしかして、継承にしたかったのはコード側のコンストラクタとaspx側のコンストラクタ（自動生成）を分けたい＆起動順を固定したいからだったんかなぁ。&lt;/P&gt;
&lt;P&gt;今まではOnInitの中で初期化っぽいことをしていて、InitializeComponent呼び出しなんかもここに入っていたので、独自の初期化処理をコンポーネントの初期化の前にやるのか、後にやるのかなんかを選択できてたけど、これからは選択できんてことやんね。と、いうか、本来は選択できるべきではない？？&lt;/P&gt;
&lt;P&gt;そもそも自動生成されたコードが開発用のソースファイルに出てきて変更が可能な時点であやうかったんやけどね。えぇ、今まで講習中に数え切れないほどのトラブルがありましたさ。&lt;/P&gt;
&lt;P&gt;#Regionで囲まれてるところ全削除されたり、逆に他のページからコピペしたときに#Region部分も丸ごとコピーしてきたり。そんなご無体なぁ～ (/。＼）&lt;BR&gt;そんな初心者の方に内部構造教えても混乱させるだけやしね。&lt;/P&gt;
&lt;P&gt;ASP.NET 2.0になって、講義は格段にやりやすくなりましたわ。オホホホホ ヾ（@^▽^@）ノ&lt;/P&gt;
&lt;P&gt;【注】上記はかるぼの勝手な考察＆妄想なのでまったく裏が取れてません。参考の参考にもならない場合がありますのでご注意おば。&lt;BR&gt;m(._.)m &lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/carbonara/aggbug/39241.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刈歩 菜良</dc:creator><title>@PageディレクティブのInherits属性ってば</title><link>http://blogs.wankuma.com/carbonara/archive/2006/09/20/39167.aspx</link><pubDate>Wed, 20 Sep 2006 02:00:00 GMT</pubDate><guid>http://blogs.wankuma.com/carbonara/archive/2006/09/20/39167.aspx</guid><wfw:comment>http://blogs.wankuma.com/carbonara/comments/39167.aspx</wfw:comment><comments>http://blogs.wankuma.com/carbonara/archive/2006/09/20/39167.aspx#Feedback</comments><slash:comments>1272</slash:comments><wfw:commentRss>http://blogs.wankuma.com/carbonara/comments/commentRss/39167.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/carbonara/services/trackbacks/39167.aspx</trackback:ping><description>&lt;P&gt;ふざけたご挨拶だけだとなんなので、この前受講生に指摘されて目からうろこだったネタおば...&lt;/P&gt;
&lt;P&gt;受講生：「Inherits属性って継承ですよねぇ。何で継承なんですか。」&lt;BR&gt;わたくし：「それはですね、デザイン担当のaspxファイルが... ぁ...（一瞬フリーズ）」&lt;/P&gt;
&lt;P&gt;そう、ASP.NET2.0からはパーシャルクラス採用で、もう継承なんかしてないんやねぇ。&lt;BR&gt;どうせならばInherits属性は互換性のための非推奨の属性にして、なんかもっと的確な名前の属性を作って欲しかったなぁ。PartialClass とか ClassName とか。&lt;/P&gt;
&lt;P&gt;おかげで同様の質問が出ると歴史から話さなあかんようになってしまいました。&lt;BR&gt;ヾ(&amp;gt;y&amp;lt;;)ノ&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;と、思ったら、囚人さんのご指摘の通り、実は.aspxファイルがふた手に分かれてパーシャルなのは変数宣言だけでした。&lt;BR&gt;（囚人様 感謝です_(_^_)_ ）&lt;/P&gt;
&lt;P&gt;そんな細かな話まで説明しても初心者は混乱が増すだけなので、従来どおり「.aspx が別クラスになって」っていう説明にしますです。&lt;/P&gt;
&lt;P&gt;しかし、何で全部パーシャルにしちゃわなかったんやろか？？&lt;BR&gt;?(&amp;#176;_。)?(。_&amp;#176;)?&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/carbonara/aggbug/39167.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>