C 中的身份模擬 帳戶模擬(程式設計方式實現)

2021-05-11 05:55:08 字數 1121 閱讀 6604

在一些應用場景中,需要以較高的帳戶許可權來執行一段程式從而實現某個功能。比如:在asp.net程式中,如果需要寫入一段日誌到檔案中,但空間提供商並沒有給指定目錄asp.net帳戶寫許可權,就可以用到此方法了,前提是你要知道他們給你開的使用者及密碼,一般都是ftp帳號及密碼。當然,最簡單的辦法就是找空間商開通此許可權。上面的情況可能不是必須這樣做的,但以程式設計方法實現身份模擬的方法還是很有的!

**如下:

using system;

using system.componentmodel;

using system.runtime.interopservices;

using system.security.principal;

namespace fcms.framework.utility

//模擬指定的使用者身份

/**

///

///

///

///

///

///

public bool impersonatevaliduser(string username,string domain,string password) }}

}if(token!= intptr.zero)

closehandle(token);

if(tokenduplicate!=intptr.zero)

closehandle(tokenduplicate);

return false;}

//取消模擬

/**

///

///

public void undoimpersonation() }}

使用方法:

//在你執行特定功能的**前先驗證模擬帳戶:

fcms.framework.utility.identityanalogue ia

= new fcms.framework.utility.identityanalogue();

if( ia.impersonatevaliduser( username , domain , password ) )

//最後將使用者上下文恢復為當前表示的windows使用者

ia.undoimpersonation();

c 中事件模型的模擬

using system using system.collections.generic using system.linq using system.text namespace csharp基礎 static void but action object sender,actioncancel...

c 以POST方式模擬提交表單

這是我一年前寫的乙個用c 模擬以post方式提交表單的 現在記錄在下面,以免忘記咯。那時候剛學c 忽忽。很生疏。看上去也很幼稚 臃腫不堪 region 內容新增函式 contentinsert public string contentinsert string bookid,string book...

c 以POST方式模擬提交表單

這是我一年前寫的乙個用c 模擬以post方式提交表單的 現在記錄在下面,以免忘記咯。那時候剛學c 忽忽。很生疏。看上去也很幼稚 臃腫不堪 region 內容新增函式 contentinsert public string contentinsert string bookid,string book...