日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
ASP.NET machineKey的作用和使用方法

ASP.NET machineKey的作用

如果你的Asp.Net程序執(zhí)行時(shí)碰到這種錯(cuò)誤:“驗(yàn)證視圖狀態(tài) MAC 失敗。如果此應(yīng)用程序由網(wǎng)絡(luò)場(chǎng)或群集承載,請(qǐng)確保 配置指定了相同的 validationKey 和驗(yàn)證算法。不能在群集中使用 AutoGenerate?!蹦敲凑f明你沒有讓你的應(yīng)用程序使用統(tǒng)一的machineKey,那么machineKey的作用是什么呢?按照MSDN的標(biāo)準(zhǔn)說法:“對(duì)密鑰進(jìn)行配置,以便將其用于對(duì) Forms 身份驗(yàn)證 Cookie 數(shù)據(jù)和視圖狀態(tài)數(shù)據(jù)進(jìn)行加密和解密,并將其用于對(duì)進(jìn)程外會(huì)話狀態(tài)標(biāo)識(shí)進(jìn)行驗(yàn)證?!币簿褪钦fAsp.Net的很多加密,都是依賴于machineKey里面的值,例如Forms 身份驗(yàn)證 Cookie、ViewState的加密。默認(rèn)情況下,Asp.Net的配置是自己動(dòng)態(tài)生成,如果單臺(tái)服務(wù)器當(dāng)然沒問題,但是如果多臺(tái)服務(wù)器負(fù)載均衡,machineKey還采用動(dòng)態(tài)生成的方式,每臺(tái)服務(wù)器上的machinekey值不一致,就導(dǎo)致加密出來的結(jié)果也不一致,不能共享驗(yàn)證和ViewState,所以對(duì)于多臺(tái)服務(wù)器負(fù)載均衡的情況,一定要在每臺(tái)站點(diǎn)配置相同的machineKey。

ASP.NET machineKey生成的算法:

 
 
 
  1. validationKey = CreateKey(20);  
  2.  
  3. decryptionKey = CreateKey(24);  
  4.  
  5.       protected string CreateKey(int len)  
  6.  
  7.       {  
  8.  
  9.              byte[] bytes = new byte[len];  
  10.  
  11.              new RNGCryptoServiceProvider().GetBytes(bytes);  
  12.  
  13.                StringBuilder sb = new StringBuilder();  
  14.  
  15.                for(int i = 0; i < bytes.Length; i++)  
  16.  
  17.                {      
  18.  
  19.                     sb.Append(string.Format("{0:X2}",bytes[i]));  
  20.  
  21.                }  
  22.  
  23.                return sb.ToString();  
  24.  
  25.       }  
  26.  

附參考的ASP.NET machineKey配置:

 
 
 
  1.  version="1.0"?> 
  2.  
  3.  
  4.  
  5.     
  6.  
  7.       validationKey="3FF1E929BC0534950B0920A7B59FA698BD02DFE8" decryptionKey="280450BB36319B474C996B506A95AEDF9B51211B1D2B7A77" decryption="3DES" validation="SHA1"/> 
  8.  
  9.        
  10.  
  11.  
  12.  

【編輯推薦】

  1. .NET框架解決DLL Hell問題:問題描述
  2. ASP.NET MVC單元測(cè)試:HttpContext類的Path屬性解惑
  3. 自定義的ControllerFactory:接口實(shí)現(xiàn),支持Area
  4. ASP.NET Routing之“解析URL”功能詳解
  5. 為ASP.NET MVC應(yīng)用添加自定義路由

當(dāng)前名稱:ASP.NET machineKey的作用和使用方法
文章起源:http://www.5511xx.com/article/dpdshoe.html