FormsAuthentication шифрует токены, которые он дает пользователю, и по умолчанию шифрует ключи, отличающиеся для каждого приложения. Чтобы заставить Forms Auth работать в разных приложениях, вам нужно сделать несколько вещей:
Во-первых, задайте «имя» Auth Forms для всех приложений. Это делается с помощью:
<authentication mode="Forms">
<forms name="{name}" path="/" ...>
</authentication>
Установите одинаковое имя в обоих приложениях web.configs.
Во-вторых, вы должны указать обоим приложениям использовать один и тот же ключ при шифровании. Это немного сбивает с толку. Когда я настраивал это, все, что мне нужно было сделать, это добавить следующее в оба файла web.configs:
<machineKey validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="SHA1" />
Согласно документам, это значение по умолчанию, но оно не работало для меня, пока я не указал его.