MachineKey là gì
14:00 ngày 18-09-2017
Nói cách khác, MachineKey được sữ dụng để chỉ định cách thức mã hóa dữ liệu xác thực người dùng. Mà trưc quan là FormsAuthentication.Encrypt()
và FormsAuthentication.Decrypt()
.
Thẻ MachineKey nằm trong thử system.web
<configuration>
<system.web>
<machineKey
validationKey="AutoGenerate,IsolateApps" [String]
decryptionKey="AutoGenerate,IsolateApps" [String]
validation="HMACSHA256" [SHA1 | MD5 | 3DES | AES | HMACSHA256 |
HMACSHA384 | HMACSHA512 | alg:algorithm_name]
decryption="Auto" [Auto | DES | 3DES | AES | alg:algorithm_name]
/>
</system.web>
</configuration>
decryption: Chỉ định thuật toán để mã hóa và giải mã dữ liệu từ forms-authentication. Giá trị mặc định sẽ là Auto, lúc này hệ thống sẽ tự xác định thuật toán.
decryptionKey: Key được sử dụng để mã hóa và giải mã dữ liệu. AutoGenerate là giá trị mặc định, lúc này hệ thống sẽ tự sinh key.
validation: Chỉ định thuật toán được sử dụng để xác thực dữ liệu.
validationKey: Key được sử dụng để xác thực dữ liệu.
Thông tin chi tiết có thể được tham khảo tại link đây
Load Balancer và quá trình xác thực người dùng
Trước hết chúng ta cần hiểu có cái nhìn tổng quan về Load Balancer. Load Balancing (Cân Bằng Tải) là gì? Cân Bằng Tải là một tính năng công nghệ rất quan trọng trong ngành mạng máy tính, giúp các máy chủ hoạt động đồng bộ và hiệu quả hơn thông qua việc phân phối đồng đều tài nguyên.
Nó hoạt động như thế nào? Đơn giản là ở đây chúng ta có vài servers cho website và một sever có vai trò điều hướng. Server này sẽ tính toán việc và chỉnh định Server web nào sẽ thực thi request của client.
Vấn đề ở đây sẽ là Client có thể sẽ được nhiều server phục vụ. Khi User đăng nhập vào hệ thống. Server A sẽ đảm nhận quá trình xác thực này. Nó sẽ mã hóa dữ liệu đã được xác thực và gửi xuống Client như Cookies. Khi User thực hiện một request khác kèm với thông tin xác thực này, nhưng không may, Server B được chỉ định để phục vụ request này. Server B không thể giải mã dữ liệu vì nó không biết thuật toán và Key đang được sử dụng để mã hóa và xác thuật dữ liệu, dẫn đến request bị từ chối.
Để khắc phục vấn đề này, chúng ta cần sữ dụng cùng 1 thuật toán, Key để mã hóa và xác thực cho WebSite ở các server khác nhau. Và chúng ta cần chỉ định rõ điều này ở trong MachineKey. Không được phép sữ dụng các giá trị mặc định là Auto hay AutoGenerate.
Sử dụng IIS để tạo MachineKey
Mở IIS, Chọn Website muốn tạo MachineKey ở bên trái. Kích kép vào mục MachineKey ở bên phải.
Trong mục Machine Key, Chọn giá trị cho Validation method
, Encrption method
, bỏ phần chọn Automatically generate at runtime trong mục Validation key
và Descrytion key
. Sau đó bấm vào Generate Keys. Cuối cùng chọn Apply. Machine Key vừa tạo sẽ được thêm vào file webconfig
Kiểm tra file WebConfig chúng ta sẽ thấy dòng bên dưới được thêm vào bên trong thẻ <system.web>
<machineKey decryption="AES" decryptionKey="A52A70B3FF809E8D63772C4C3495FF721232EDE3CB663CCE" validationKey="0A809F77030D8E35DEE7C6A4C4455880126C1F98C329346DE2FFBF5EAFA03B243E21320B9FCCF27B1FDD73B0F494547E6FA0DF297B303A22DE50C8E16E85632B" validation="SHA1" />
Viết Phản Hồi
Chuyên Mục
- Android (0)
- C#, ASP.Net (4)
- C, C++ (0)
- HTML, CSS, JavaScript (5)
- Database (1)
- Linh Tinh (2)
Bài Viết Mới
- Kế thừa và từ khóa virtual trong c#
- Base64 và Cache Image trong LocalStorage
- PerformanceNavigation và cách thức truy cập Website (Page)
- SqlCommandBuilder với Insert, Update và Delete dữ liệu từ DataGridview đến Database
- Kết nối SQLite bằng Entity framework
- SQL SERVER: Sử dụng INDEX để tăng tốc độ thực thi câu truy vấn
- MachineKey là gì
- HTML5 Web Workers là gì
- Lưu trữ cục bộ trong HTML5: Local Storage và Session Storage
- Angular Tree
Phản Hồi Mới
-
Angular Tree
ad
-
Kế thừa và từ khóa virtual trong c#
ssd
-
Sử dụng chrome trong lập trình web
Thèn Khương nói tào lao quá
-
Angular Tree
content mà mè mmex nè ne
- Các định lý của đại số logic (Boolean) Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- Các định lý của đại số logic (Boolean) Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- Các định lý của đại số logic (Boolean) Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- Các định lý của đại số logic (Boolean) Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Phản Hồi