公司內有不同的team,以 asp.net 1.1 與 asp.net 2.0開發程式
一個team只會使用 1.1 來開發,暫時還無法使用 vs2005 來開發程式
一個team 不願再使用 1.1來開發了。真的生產力不好。因此要用 asp.net 2.0 (vs2005) 開發。
問題來了,兩個不同版本的程式,當然需要不同的虛擬目錄。都使用 Forms authetication。
一般來說會使的使用者需要登入兩次。
解法如下:
ASP.NET 2.0 的預設decryption 是AES,而非 asp.net 1.1 的 3DES。為了讓兩者有一致的解密法,要將一些屬性設定成一致
ASP.NET 2.0 的 web.config 而要設定如下。其中,name 與 protection 的值必需與 asp.net 1.1 的一致。
<authentication mode="Forms">
<forms name="VAT" protection="All" loginUrl="login/login.aspx">
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
<machineKey validationKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902" decryptionKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC" validation="SHA1" decryption="3DES" />
ASP.NET 1.1 的 web.config 與上面幾乎要完全相同,不過,不能有 decryption="3DES"的屬性設定。
沒有留言:
張貼留言