Tôi có hai trang web với các nhà cung cấp tư cách thành viên được viết trên cùng một máy chủ trong cùng một trang web trong các ứng dụng web khác nhau và các hồ bơi ứng dụng khác nhau.asp.net 'Ghi nhớ tôi' không hoạt động nữa với các hình thức xác thực
Trước đây tôi gặp sự cố, tôi không thể đăng nhập trên cả hai trang web cùng nhau. Nhờ vào số post của Remy, tính năng này hoạt động ngay bây giờ, tôi phải thêm thuộc tính name
vào phần tử forms
.
Nhưng bây giờ tôi có vấn đề là tùy chọn nhớ-tôi của điều khiển đăng nhập asp ngừng hoạt động. Người dùng được đăng xuất sau thời gian chờ phiên bình thường.
Việc xác thực-thuộc tính trong file web.config nhìn như sau:
<authentication mode="Forms" >
<forms loginUrl="~/UserMgmt/Login.aspx" timeout="400000" slidingExpiration="true" name="NameOfTheSite"/>
</authentication>
Cũng có tôi đặt tên cookie cho các hình thức authetication để tên khác nhau.
Có điều gì khác mà tôi phải thêm vào, để tính năng ghi nhớ tôi hoạt động không?
Cập nhật
Tôi đã quan sát thấy rằng nếu tôi vô hiệu hóa mã hóa và xác nhận cho các hình thức xác thực cookie, vấn đề biến mất. Nếu tôi kích hoạt mã hóa, xác nhận hoặc cả hai, vấn đề xảy ra mới.
Tôi cũng biết rằng nó độc lập với tên cookie phiên (thậm chí chúng có thể giống nhau). Có lẽ thông tin này giúp ai đó tìm ra điều gì đang xảy ra?
Cập nhật 1
Nhờ Jason Kealey giải pháp cho vấn đề này. Tôi sẽ không bao giờ tìm thấy nó. Trong khi chờ đợi, tôi đã tìm thấy thông tin tương ứng trong msdn. Trong How To: Configure MachineKey in ASP.NET 2.0 trong phần "Trang trại Triển khai Web cân nhắc" có chép rằng:
Nếu bạn muốn cô lập ứng dụng của bạn từ các ứng dụng khác trên cùng một máy chủ, đặt <machineKey>
trong file Web.config cho mỗi ứng dụng trên mỗi máy chủ trong trang trại. Đảm bảo rằng bạn sử dụng các giá trị khóa riêng cho từng ứng dụng, nhưng sao chép từng khóa của ứng dụng trên tất cả các máy chủ trong trang trại.
Đó là về những gì tôi có. Bạn có xóa các cookie hiện tại không? – Remy
@Remy: Không, đã không làm việc, nhưng dù sao nó là một ý tưởng tốt! – HCL
điều gì sẽ xảy ra nếu bạn thay đổi thời gian chờ thành một cái gì đó như 7 ngày (10080) thay vì 277+ (400000) ngày? –