Tôi đang sử dụng System.IdentityModel để xác thực người dùng trong ứng dụng web ASP.NET MVC4 bằng cách sử dụng biểu mẫu auth với một tuyên bố chủ yếu. (mã dựa trên bài viết này: http://brockallen.com/2013/01/26/replacing-forms-authentication-with-wifs-session-authentication-module-sam-to-enable-claims-aware-identity/)SessionAuthenticationModule Cookie Handler không tạo HttpOnly an toàn cookie
Xác nhận quyền sở hữu của tôiBasedAuthentication Lớp dịch vụ phát hành cookie SAM từ SessionSecurityToken, và tất cả đều ... ngoại trừ việc tôi vừa mới nhận thấy rằng nó không tạo cookie phiên làm HTTPOnly hoặc yêu cầu họ yêu cầu SSL. Khi tôi gỡ lỗi mã, tôi có thể thấy các thuộc tính đó trên đối tượng CookieHandler được đặt chính xác trong trình gỡ rối, nhưng cookie phiên cuối cùng được tạo ra đơn giản không có cờ HTTPOnly và Secure được đánh dấu.
tôi có các dòng web.config để thiết lập các true một cách rõ ràng như vậy:
<system.web>
<httpCookies httpOnlyCookies="true" requireSSL="true" />
<authentication mode="Forms">
<forms ... requireSSL="true" />
</authentication>
...
</system.web>
<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="true" hideFromScript="true" />
</federationConfiguration>
</system.identityModel.services>
Ai đó có thể cho tôi biết nếu có cái gì khác tôi đang thiếu để cho cookie FedAuth tôi để được ẩn từ kịch bản (HTTPOnly) và yêu cầu SSL?
ai đó đã đề xuất thêm thuộc tính lockItem = "true" vào phần tử httpCookies, nhưng điều đó đã không ' t làm bất cứ điều gì. –