程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET企業開發框架IsLine FrameWork系列之十二

ASP.NET企業開發框架IsLine FrameWork系列之十二

編輯:關於ASP.NET

使用Session、Cookie與安全支持

今天來介紹IsLine.HttpContent.HttpContentProvider命名空間中關於Session與Cookie的支持。

這是IsLine FrameWork中一個常用的組件,使用這個組件可以為整站程序提供統一的Cookie配置屬性 ,例如Cookie加密方式、是否HttpOnly、是否打開https安全選項、以及默認作用域。CookieProvider是 該命名空間下的類,在該類初始化時,會自動加載web.config文件中的 Cookie節點配置,讀取成功後會 加載於整個web站點,這些屬性不需要出現在程序中。

web.comfig節點配置:

在</configSections>與<appSettings>之間加入以下配置:

代碼

<IsLine.HttpContent.Configuration>
   <Cookie>
    <Cryptography>False</Cryptography>
    <IsHttpOnly>True</IsHttpOnly>
    <IsSecure>False</IsSecure>
    <Domain>Default</Domain>
   </Cookie>
  </IsLine.HttpContent.Configuration>

在<configSections>與</configSections>之間加入以下節點:

<sectionGroup name="IsLine.HttpContent.Configuration">
         <section name="Cookie" type="IsLine.Data.Configuration.SuitConfig"/>
      </sectionGroup>

然後就可以在程序中使用這個Provider了。在<IsLine.HttpContent.Configuration>節點中, Cryptography表示是否啟用Cookie的加密,它有True和Fasle兩個值,如果值為True,在對Cookie進行新 建或更新時,Provider將會自動啟用IsLine.Security.Cryptography命名空間下的Encrypting方法進行加 密,在讀取 Cookie時,Provider將會自動啟用IsLine.Security.Cryptography命名空間下的Decrypting 方法進行解密,關於IsLine.Security.Cryptography信息後面會有介紹。在加密與解密時,會用到種子字 符串,種子在web.config中添加節點進行配置:

<add key=" IsLine.Security.Configuration.TokenKey " value="IsLine"/>

配置好後,Cryptography節點的值就可以使用True了,這時查看硬盤上的Cookie信息,就是已經加密 過的了。

IsHttpOnly對應Cookie的HttpOnly屬性,該屬性指示是否只能在服務器端獲取到用戶Cookie,如果該 值為True,那麼 Javascript、Flash等客戶端方法,將無法獲取到Cookie。這需要IE6的SP1以上版本的浏 覽器支持。

IsSecure對應Cookie的 Secure屬性,如果該屬性為True,那麼cookie就只能通過https或其他安全協 議才能傳輸,在http中是無效的。置了secure屬性不代表其他人不能看到你機器本地保存的cookie,只保 證cookie與WEB服務器之間的數據傳輸過程加密,而保存在本地的cookie文件並不加密。如果想加密本地 存儲的Cookie,請設置Cryptography節點為True。

Domain 對應Cookie的Domain屬性,該屬性指明了Cookie的作用域。比如有一個站點www.abc.com,後來 又新增了類似isline.abc.com的站點,為了實現web站點的cookie共享,就需要對cookie的domain重新設 置了,這時Domain值可以設置為abc.com,這樣基於abc.com的網站都可以共享Cookie了。

這就是CookieProvider的方便之處,只需要簡單的配置,就可以對整站Cookie進行統一的管理!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved