国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

ASP.Net:基于窗體的身份驗證
2007-12-11   

基于窗體的驗證是最為普遍的一種驗證,使用這種驗證方式可以很方便靈活地應用到應用程序中。窗體驗證方式對基于用戶的驗證授權提供了很好的支持,可以通過一個登錄頁面驗證用戶的身份,將此用戶的身份發回到客戶端的Cookie,之后此用戶再訪問這個web應用就會連同這個身份Cookie一起發送到服務端。服務端上的授權設置就可以根據不同目錄對不同用戶的訪問授權進行控制了。

要采用窗體驗證,先要在應用程序根目錄中的Web.config中做相應的設置:

<authentication mode="forms">
<forms name=".ASPXAUTH " loginUrl="/Login.aspx" timeout="30" path= "/">
</forms>
</authentication>

其中<authentication mode= "Forms"> 表示本應用程序采用Forms驗證方式。

(1)<Forms>標簽中的name表示指定要用于身份驗證的 HTTP Cookie。默認情況下,name 的值是 .ASPXAUTH。采用此種方式驗證用戶后,以此用戶的信息建立一個FormsAuthenticationTicket類型的身份驗證票,再加密序列化為一個字符串,最后將這個字符串寫到客戶端的name指定名字的Cookie中。一旦這個Cookie寫到客戶端后,此用戶再次訪問這個web應用時會將連同Cookie一起發送到服務端,服務端將會知道此用戶是已經驗證過的。

再看一下身份驗證票都包含哪些信息呢,我們看一下FormsAuthenticationTicket類:

CookiePath: 返回發出 Cookie 的路徑。注意,窗體的路徑設置為 /。由于窗體區分大小寫,這是為了防止站點中的 URL 的大小寫不一致而采取的一種保護措施。這在刷新 Cookie 時使用。
Expiration: 獲取 Cookie 過期的日期/時間。
IsPersistent: 如果已發出持久的 Cookie,則返回 true。否則,身份驗證 Cookie 將限制在瀏覽器生命周期范圍內。
IssueDate: 獲取最初發出 Cookie 的日期/時間。
Name: 獲取與身份驗證 Cookie 關聯的用戶名。
UserData :獲取存儲在 Cookie 中的應用程序定義字符串。
Version: 返回字節版本號供將來使用。

(2) <Forms>標簽中的loginUrl指定如果沒有找到任何有效的身份驗證Cookie,為登錄將請求重定向到的 URL。默認值為 Login.aspx。loginUrl指定的頁面就是用來驗證用戶身份的,一般此頁面提供用戶輸入用戶名和密碼,用戶提交后由程序來根據自己的需要來驗證用戶的合法性(大多情況是將用戶輸入信息同數據庫中的用戶表進行比較),如果驗證用戶有效,則生成同此用戶對應的身份驗證票,寫到客戶端的Cookie,最后將瀏覽器重定向到用戶初試請求的頁面,一般是用FormsAuthentication.RedirectFromLoginPage 方法來完成生成身份驗證票,寫回客戶端,瀏覽器重定向等一系列的動作。RedirectFromLoginPage 方法含有3個參數,函數定義如下:

public static void RedirectFromLoginPage( string userName, bool createPersistentCookie, string strCookiePath )其中:

userName: 就是此用戶的標示,用來標志此用戶的唯一標示,不一定要映射到用戶賬戶名稱;
createPersistentCookie: 標示是否發出持久的 Cookie。若不是持久Cookie,Cookie的有效期Expiration屬性有當前時間加上web.config中timeout的時間,每次請求頁面時,在驗證身份過程中,會判斷是否過了有效期的一半,要是的話更新一次cookie的有效期;若是持久cookie,Expiration屬性無意義,這時身份驗證票的有效期有cookie的Expires決定,RedirectFromLoginPage方法給Expires屬性設定的是50年有效期;
strCookiePath: 標示將生成的Cookie的寫到客戶端的路徑,身份驗證票中保存這個路徑是在刷新身份驗證票Cookie時使用(這也是生成Cookie的Path),若沒有strCookiePath 參數,則使用web.config中 path屬性的設置。

這里可以看到,此方法參數只有三個,而身份驗證票的屬性有七個,不足的四個參數是這么來的:
IssueDate: Cookie發出時間由當前時間得出;
Expiration:過期時間由當前時間和下面要說的<Forms>標簽中timeout參數算出。此參數對非持久性cookie有意義;
UserData: 這個屬性可以用應用程序寫入一些用戶定義的數據,此方法沒有用到這個屬性,只是簡單的將此屬性置為空字符串,請注意此屬性,在后面我們將要使用到這個屬性;
Version: 版本號由系統自動提供。
RedirectFromLoginPage方法生成生成身份驗證票后,會調用FormsAuthentication.Encrypt 方法,將身份驗證票加密為字符串,這個字符串將會是以.ASPXAUTH為名字的一個Cookie的值。這個Cookie的其它屬性的生成:Domain,Path屬性為確省值,Expires視createPersistentCookie參數而定,若是持久cookie,Expires設為50年以后過期;若是非持久cookie,Expires屬性不設置。

生成身份驗證Cookie后,將此Cookie加入到Response.Cookies中,等待發送到客戶端。最后RedirectFromLoginPage方法調用FormsAuthentication.GetRedirectUrl 方法獲取到用戶原先請求的頁面,重定向到這個頁面。

(3) <Forms>標簽中的timeout和path,是提供了身份驗證票寫入到Cookie過期時間和默認路徑。

經過上面的幾步,就完成了基于窗體身份驗證的過程。基于窗體的身份驗證使用的時是非常靈活的 ,在實際應用中可以根據用戶身份進行授權管理,包括基于角色的用戶權限管理等。下面一節中,我們來介紹基于Windows的身份驗證。

下面這個實例演示了如何利用窗體驗證來實現ASP.NET的安全控制的。實例是在我們前面已經建立好的MyFirst應用程序中完成的,該Web應用程序包含兩個Web窗體,一個是index.aspx,代表默認主頁,一個是Login.aspx,代表用戶登錄系統頁面。

首先是Web.config配置文件,如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<compilation defaultLanguage="vb" debug="true" />
<customErrors mode="RemoteOnly" />
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="Login.aspx" timeout="30"></forms>
</authentication>
<authorization>
<deny users="admin2" />
<deny users="?" />
</authorization>
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
</system.web>
</configuration>
Index.aspx的HTML代碼如下:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="index.aspx.vb" Inherits="MyFirst.WebForm2"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>基于Web窗體的身份驗證實例</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋體">
<asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 112px; POSITION: absolute; TOP: 72px" runat="server"
Text="刪除Cookies"></asp:Button></FONT></form>
</body>
</HTML>


熱詞搜索:

上一篇:圖形密碼優勢明顯 將取代文本密碼驗證身份
下一篇:SQLServer2000身份驗證與安全控制(1)

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
精品一区二区三区蜜桃| 热久久免费视频| 日韩精品乱码av一区二区| 91搞黄在线观看| 亚洲第一电影网| 日韩欧美精品三级| 国产一区二区久久| 国产精品乱码妇女bbbb| 日本精品视频一区二区三区| 亚洲电影你懂得| 337p日本欧洲亚洲大胆精品| 成人黄色电影在线| 亚洲成av人片一区二区三区| 久久综合色一综合色88| jlzzjlzz亚洲日本少妇| 五月综合激情网| 国产欧美日韩在线| 在线电影国产精品| 成人av在线一区二区三区| 亚洲v日本v欧美v久久精品| 精品电影一区二区三区| 在线亚洲欧美专区二区| 久久精品国产成人一区二区三区| 国产精品毛片无遮挡高清| 91精品国产免费| 95精品视频在线| 麻豆91在线观看| 亚洲美女视频在线观看| 久久久久久久久伊人| 欧美年轻男男videosbes| 成人不卡免费av| 美女高潮久久久| 亚洲综合色网站| 国产蜜臀av在线一区二区三区| 91精品国产综合久久蜜臀| 国产麻豆91精品| 日韩精品一二区| 一区二区免费看| 国产精品不卡一区| 久久亚洲精品小早川怜子| 在线播放亚洲一区| 91国在线观看| 色婷婷狠狠综合| 99re热这里只有精品免费视频| 激情综合色丁香一区二区| 午夜不卡av在线| 亚洲大尺度视频在线观看| 亚洲六月丁香色婷婷综合久久| 国产日韩av一区| 久久久精品中文字幕麻豆发布| 欧美一区二区性放荡片| 精品视频一区二区三区免费| 91国产精品成人| 日本乱码高清不卡字幕| 99久久99久久精品免费观看| 成人免费观看视频| 成人av免费观看| av资源站一区| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 日韩不卡一二三区| 日本色综合中文字幕| 首页综合国产亚洲丝袜| 七七婷婷婷婷精品国产| 蜜桃av噜噜一区| 精彩视频一区二区| 福利91精品一区二区三区| 丁香激情综合国产| zzijzzij亚洲日本少妇熟睡| caoporen国产精品视频| 欧美自拍偷拍一区| 717成人午夜免费福利电影| 91精品欧美一区二区三区综合在| 欧美一级欧美三级| 久久精品夜色噜噜亚洲aⅴ| 国产精品电影院| 亚洲最色的网站| 久久精品久久综合| 成人午夜电影小说| 色美美综合视频| 欧美一级欧美三级| 国产精品成人在线观看| 午夜欧美在线一二页| 国产精品亚洲专一区二区三区 | 免费一级欧美片在线观看| 精品一区二区三区免费| 99久久国产免费看| 日韩一区二区三区电影在线观看 | 国产+成+人+亚洲欧洲自线| 99国产麻豆精品| 69精品人人人人| 欧美激情一区二区三区全黄| 亚洲精品高清在线| 激情亚洲综合在线| 欧美性做爰猛烈叫床潮| 久久综合国产精品| 亚洲成av人片观看| 99久久国产综合精品女不卡| 日韩视频一区二区在线观看| 18欧美乱大交hd1984| 免费视频一区二区| 一本到不卡精品视频在线观看| 日韩欧美国产一区二区在线播放| 一区免费观看视频| 韩国一区二区三区| 欧美放荡的少妇| 亚洲乱码国产乱码精品精的特点| 国产综合成人久久大片91| 在线观看三级视频欧美| 久久精品欧美一区二区三区不卡| 亚洲国产欧美日韩另类综合| av爱爱亚洲一区| 2022国产精品视频| 日韩国产一二三区| 欧美日韩情趣电影| 亚洲日本乱码在线观看| 国产成人精品www牛牛影视| 日韩三级视频中文字幕| 亚洲国产va精品久久久不卡综合 | 中文字幕日韩av资源站| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 91久久精品日日躁夜夜躁欧美| 中文字幕巨乱亚洲| 国产精品自拍网站| 精品国产一区二区三区不卡| 日韩和欧美一区二区| 欧美日韩久久久一区| 一级特黄大欧美久久久| 色综合久久88色综合天天免费| 中文字幕一区二区不卡| 91丨porny丨国产入口| √…a在线天堂一区| 色婷婷综合在线| 一区二区三区av电影| 欧美这里有精品| 亚洲国产精品久久久久婷婷884 | 色婷婷一区二区三区四区| 亚洲一区在线观看视频| 在线观看av一区| 午夜久久久久久久久| 日韩美一区二区三区| 国产又黄又大久久| 国产女人18毛片水真多成人如厕| 成人手机电影网| 一区二区三区色| 欧美日韩国产大片| 麻豆久久久久久| 国产欧美日韩精品一区| 色网综合在线观看| 日本成人在线电影网| 久久综合久久鬼色中文字| 国产成人精品综合在线观看| 亚洲免费观看高清在线观看| 欧美日韩久久不卡| 国产一区二区在线视频| 国产精品传媒在线| 在线不卡a资源高清| 丁香婷婷综合激情五月色| 亚洲欧美日韩一区二区| 欧美一区日本一区韩国一区| 成人午夜免费视频| 午夜欧美一区二区三区在线播放| 精品国产1区二区| 97久久精品人人做人人爽| 五月天激情小说综合| 久久久不卡网国产精品一区| 91久久精品一区二区| 国产精品白丝jk黑袜喷水| 亚洲日本在线看| 久久亚区不卡日本| 欧美三电影在线| 成人丝袜视频网| 蜜臀av性久久久久蜜臀aⅴ四虎 | 中文字幕高清不卡| 91精品国产福利在线观看| 成人国产精品免费观看| 久久精品99国产精品| 亚洲精品视频在线看| 亚洲精品在线免费播放| 欧美日韩亚洲综合一区二区三区| 国产99精品国产| 久久精品国产精品亚洲红杏| 亚洲精品久久久久久国产精华液| 亚洲精品一区二区三区香蕉| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 亚洲一区二区三区国产| 国产精品无人区| 精品久久久久久综合日本欧美| 在线观看亚洲a| 91啪在线观看| av中文字幕亚洲| 国产福利精品一区| 精品影视av免费| 麻豆精品一二三| 日本人妖一区二区| 丝袜亚洲另类欧美| 日韩成人免费电影| 日韩经典一区二区| 蜜桃视频一区二区| 蜜桃视频免费观看一区| 日本三级亚洲精品|