本題
ASP.NET_SessionIdや.ASPXAUTHなどASP.NETが書き出すクッキーのDomainやSecureを変更するには下記の設定をWeb.configに追記します。
<system.web>
<httpCookies domain="your.domain.name" httpOnlyCookies="true" requireSSL="true" />
</system.web>
上記で動かない場合、コードで書き換える方法もあるようです。(参考)
ちなみにクッキーの名前を変える方法
<system.web>
<!--SessionId-->
<sessionState cookieName="foo" />
<!--.ASPXAUTH-->
<authentication mode="Forms">
<forms name="bar" loginUrl="/Path/To/LoginPage" />
</authentication>
</system.web>
知見
例えばexample.jpとadmin.example.jpという2サイトがあった時にDomainが.example.jpになるように設定すると両方で同じクッキーが使用されることになります。
SessionIdが同じでも動くのか?と疑問に思ったんですがちゃんと動きます。値も別々に書き換えてくれて、同じ値が操作されてしまう問題もありません。
…と思ったんですが、同じ値だと操作されてしまうという記事が。インプロセスと状態サーバ、インデックスを揃えたりしてもうちでは再現しませんでした。セッションの保存の仕方やIISの設定が違うんでしょうか?