Tôi đang sử dụng Nhà cung cấp phiên làm việc bộ nhớ cache Redis trong ứng dụng MVC của tôi. Tất nhiên, tất cả các thiết lập cho nhà cung cấp đều có trong Web.config của tôi. Ứng dụng hoạt động nếu tôi chỉ cần đặt Host và Key và tất cả những gì trong chuỗi đơn giản, vì vậy nó trông như thế này:Cách tốt nhất để ẩn giá trị cho nhà cung cấp sessionState
<sessionState mode="Custom" customProvider="MySessionStateStore">
<providers>
<add
type="Microsoft.Web.Redis.RedisSessionStateProvider"
name="MySessionStateStore"
host = "[HOST]"
port = "6379"
accessKey = "[KEY]"
ssl = "false"
throwOnError = "true"
retryTimeoutInMilliseconds = "5000"
databaseId = "0"
applicationName = "TRAXProSurvey"
connectionTimeoutInMilliseconds = "5000"
operationTimeoutInMilliseconds = "1000"
/>
</providers>
</sessionState>
... nơi "[HOST]" và "[KEY]" là thay vào đó giá trị thực tế. Nhưng đó không phải là chính xác an toàn, phải không? Có cách nào để che giấu thông tin đó bằng cách nào đó không?
Tôi biết việc sử dụng Cài đặt ứng dụng trong cấu hình Azure - thực ra tôi đang sử dụng cặp vợ chồng cho một thứ khác. Nhưng tôi không tìm cách để có thể sử dụng những người ở đây một cách cụ thể. Tôi có thể tạo biến cài đặt ứng dụng, nhưng cách truy cập giá trị đó trong sessionState là gì ?? Tôi đã thử sử dụng System.Configuration.ConfigurationManager.AppSettings ("[name]") - chỉ có vậy, với dấu ngoặc kép, và rằng với dấu nháy đơn.
I figured có lẽ tôi chỉ mã hóa Web.config .... tôi thấy rằng bạn có thể thêm "< 'MSDeployEnableWebConfigEncryptRule'> đúng < '/ MSDeployEnableWebConfigEncryptRule'>" (không có dấu nháy đơn) trong .pubxml - nhưng không hoạt động cho các trang web Azure thông thường.
Tôi cũng tìm thấy các bài viết/ví dụ để mã hóa các phần của Web.config bằng cách sử dụng aspnet_regiis .... nhưng làm điều đó sẽ không hoạt động trong môi trường trang trại như Azure, phải không?
Vậy các tùy chọn khác (nếu có) là gì? ... hay điều này là không thể? Cảm ơn bạn!
Vì vậy, trong trường hợp này, nó chỉ đơn giản là khóa của thiết lập trong dấu ngoặc kép ?! Quá dễ! – Andarta
Vâng, đúng vậy. Khóa cài đặt ứng dụng trong dấu ngoặc kép. –
Xin lưu ý rằng bạn không thể ghi đè lên các cài đặt này trong cổng thông tin. ngay cả khi bạn cung cấp cài đặt ứng dụng bằng cùng một khóa, giá trị trong web.config vẫn sẽ được sử dụng. – MPavlak