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