C 身份驗證

2022-03-08 05:27:45 字數 2168 閱讀 3227

身份驗證票 和 form驗證 

using system.web.security;

if((textbox1.text.trim()=="a") && (textbox2.text.trim()=="b"))

else

如果需要儲存角色,採用:

formsauthenticationticket authticket = new

formsauthenticationticket(

1, // 版本號。

txtusername.text, // 與身份驗證票關聯的使用者名稱。

datetime.now, // cookie 的發出時間。

datetime.now.addminutes(20),// cookie 的到期日期。

false, // 如果 cookie 是持久的,為 true;否則為 false。

roles ); // 將儲存在 cookie 中的使用者定義資料。

roles是乙個角色字串陣列

string encryptedticket = formsauthentication.encrypt(authticket); //加密

存入cookie

具體實現

web.config檔案

加入節點,name為cookie名稱,loginurl為沒有通過驗證跳轉的位址

loginurl="login.aspx" protection="all" path="/" timeout="40"/>

設定目錄訪問 path為目錄名,roles為票據中的角色名

發現網上的都說要單獨乙個web.config檔案放在目錄中,但實際在根目錄中設定即可,單個檔案也一樣

string roles = authticket.userdata.split(new char);//如果訪問多個角色,我們把它分解

formsidentity id = new formsidentity( authticket );

genericprincipal principal = new genericprincipal(id, roles);

context.user =principal;//存到httpcontext.user中

}原理,將使用者角色資訊儲存在票據中,通過global.asax,web.config中的設定,判斷角色的許可權

登陸 1)自定義身份驗證票據

//使用 cookie 名、版本、目錄路徑、發布日期、過期日期、永續性以及使用者定義的資料初始化 formsauthenticationticket 類的新例項。

2)使用系統的驗證票據

//為給定的 username、createpersistentcookie 和 strcookiepath 建立身份驗證票,並將其附加到 cookie 的傳出響應集合。它不執行重定向。

formsauthentication.setauthcookies(username,ispersistent,cookiepath);

2.  驗證

trycatch(exception e)

3. 退出

formsauthentication.signout();

session.abandon();

Forms 身份驗證

配置應用程式使用 forms 身份驗證 如果應用程式的根目錄中有 web.config 檔案,請開啟該檔案。複製 在system.web元素中,建立乙個authentication元素,並將它的mode屬性設定為 forms,如下面的示例所示 複製 在authentication元素中,建立乙個fo...

WebService身份驗證

web service身份驗證解決方案一 通過通過soap header身份驗證。1.我們實現乙個用於身份驗證的類,檔名mysoapheader.cs mysoapheader類繼承自system.web.services.protocols.soapheader。且定義了兩個成員變數,userna...

WebServices身份驗證

最近遇到乙個問題,暴露在網路上的web service如何做身份驗證,而不被其他人說是用。mysoapheader.cs類 using system using system.collections.generic using system.linq using system.web namespa...