最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net中穿透Session 0 隔離(一)

 更新時間:2012年11月10日 15:06:21   作者:  
服務(wù)(Service)對于大家來說一定不會陌生,它是Windows 操作系統(tǒng)重要的組成部分。我們可以把服務(wù)想像成一種特殊的應(yīng)用程序,它隨系統(tǒng)的“開啟~關(guān)閉”而“開始~停止”其工作內(nèi)容,在這期間無需任何用戶參與

Windows 服務(wù)在后臺執(zhí)行著各種各樣任務(wù),支持著我們?nèi)粘5淖烂娌僮鳌S袝r候可能需要服務(wù)與用戶進行信息或界面交互操作,這種方式在XP 時代是沒有問題的,但自從Vista 開始你會發(fā)現(xiàn)這種方式似乎已不起作用。

Session 0 隔離實驗
下面來做一個名叫AlertService 的服務(wù),它的作用就是向用戶發(fā)出一個提示對話框,我們看看這個服務(wù)在Windows 7 中會發(fā)生什么情況。

復(fù)制代碼 代碼如下:

using System.ServiceProcess;
using System.Windows.Forms;
namespace AlertService
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{
MessageBox.Show("A message from AlertService.");
}

protected override void OnStop()
{
}
}
}


程序編譯后通過Installutil 將其加載到系統(tǒng)服務(wù)中:

 

     在服務(wù)屬性中勾選“Allow service to interact with desktop” ,這樣可以使AlertService 與桌面用戶進行交互。

在服務(wù)管理器中將AlertService 服務(wù)“啟動”,這時任務(wù)欄中會閃動一個圖標(biāo):

點擊該圖標(biāo)會顯示下面窗口,提示有個程序(AlertService)正在試圖顯示信息,是否需要瀏覽該信息:

flashmeg

     嘗試點擊“View the message”,便會顯示下圖界面(其實這個界面我已經(jīng)不能從當(dāng)前桌面操作截圖了,是通過Virtual PC 截屏的,其原因請繼續(xù)閱讀)。注意觀察可以發(fā)現(xiàn)下圖的桌面背景已經(jīng)不是Windows 7 默認(rèn)的桌面背景了,說明AlertService 與桌面系統(tǒng)的Session 并不相同,這就是Session 0 隔離作用的結(jié)果。

Session 0 隔離原理

     在Windows XP、Windows Server 2003 或早期Windows 系統(tǒng)時代,當(dāng)?shù)谝粋€用戶登錄系統(tǒng)后服務(wù)和應(yīng)用程序是在同一個Session 中運行的。這就是Session 0 如下圖所示:

     但是這種運行方式提高了系統(tǒng)安全風(fēng)險,因為服務(wù)是通過提升了用戶權(quán)限運行的,而應(yīng)用程序往往是那些不具備管理員身份的普通用戶運行的,其中的危險顯而易見。

     從Vista 開始Session 0 中只包含系統(tǒng)服務(wù),其他應(yīng)用程序則通過分離的Session 運行,將服務(wù)與應(yīng)用程序隔離提高系統(tǒng)的安全性。如下圖所示:

     這樣使得Session 0 與其他Session 之間無法進行交互,不能通過服務(wù)向桌面用戶彈出信息窗口、UI 窗口等信息。這也就是為什么剛才我說那個圖已經(jīng)不能通過當(dāng)前桌面進行截圖了。

Session 檢查

     在實際開發(fā)過程中,可以通過Process Explorer 檢查服務(wù)或程序處于哪個Session,會不會遇到Session 0 隔離問題。我們在Services 中找到之前加載的AlertService 服務(wù),右鍵屬性查看其Session 狀態(tài)。

可看到AlertService 處于Session 0 中:

再來看看Outlook 應(yīng)用程序:

     很明顯在Windows 7 中服務(wù)和應(yīng)用程序是處于不同的Session,它們之間加隔了一個保護墻,在下篇文章中將介紹如何穿過這堵保護墻使服務(wù)與桌面用戶進行交互操作。

Service 下載

作者:李敬然(Gnie)
出處:(http://www.cnblogs.com/gnielee/)

您可能感興趣的文章:

相關(guān)文章

最新評論

木里| 栾城县| 临朐县| 衡水市| 姜堰市| 和田县| 陇川县| 界首市| 玉树县| 田东县| 康保县| 抚宁县| 巩留县| 项城市| 铜川市| 呼图壁县| 高清| 福清市| 斗六市| 桃江县| 延寿县| 祁连县| 武强县| 博湖县| 广宁县| 全州县| 无极县| 巴青县| 连州市| 台前县| 始兴县| 万载县| 许昌县| 岐山县| 临朐县| 建宁县| 惠东县| 武隆县| 武穴市| 定西市| 彰武县|