ASP.NETのフォーム認証のSSOについて簡単に説明を行うと、フォーム認証により認証された情報はCookieにより暗号化されて保存されます。このCookieにユーザ名などの認証情報が入っているため、各Webアプリケーション間で暗号化されたデータを取得できるように同じ設定にしてあげてユーザ名を取得できるようにするわけです。主な設定内容は以下になります。
・Cookieの名前を同じに設定
・Cookieが利用されるドメイン設定
・暗号化に使用するキー情報を同一に設定
たとえば、web1.mydomain.co.jp と、web2.mydomain.co.jp というWebアプリケーション間でSSOを行いたい場合は、各Webアプリケーションのweb.configに同じ設定を行います。設定内容は以下のような感じです。
<machineKey
validationKey="1230000000000000000000000000000000000000,IsolateApps"
decryptionKey="12300000000000000000000000000000,IsolateApps"
validation="SHA1" decryption="AES" />
<authentication mode="Forms">
<forms
name="SSO"
loginUrl="/Account/LogOn"
timeout="2880"
domain="mydomain.co.jp" />
</authentication>
とりあえず試すには、Orchardで認証した後に、WebMatrixで作ったサイトにアクセスしてもよいのではないかと思います。
かなり、端折っていてすいません。
参考URLは以下です。
Explained: Forms Authentication in ASP.NET 2.0
http://msdn.microsoft.com/en-us/library/ff647070.aspx
machineKey 要素 (ASP.NET 設定スキーマ)
http://msdn.microsoft.com/ja-jp/library/w8h3skw9.aspx
FormsAuthentication プロパティ
http://msdn.microsoft.com/ja-jp/library/eazszwdc(v=VS.80).aspx