国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Asp.Net實現FORM認證的一些使用技巧(必看篇)

2024-07-10 12:46:49
字體:
來源:轉載
供稿:網友

最近因為項目代碼重構需要重新整理用戶登錄和權限控制的部分,現有的代碼大體是參照了.NET的FORM認證,并結合了PORTAL KITS的登錄控制,代碼比較啰嗦,可維護性比較差。于是有了以下的幾個需求(大多數系統應該都會碰到):

1.用.NET自帶的FORM認證來實現安全登錄

2.登錄后需要記錄登錄用戶的基本信息,方便所有頁面調用

3.記錄本機登錄狀態,短時間關閉窗口后不用重新登錄

4.權限控制和代碼的文件夾結構相呼應,即按角色允許訪問不同的目錄

5.權限控制有可能需要細化到每一個頁面,即按角色允許訪問不同的頁面

6.以上的部分盡量自己少寫代碼,用自帶的類庫和機制實現

第一步:準備工作

先準備一個名為Test的WEB項目,包含:

Default.aspx,默認頁,隨便顯示一些信息,

Login.aspx,登錄頁,上面放兩個文本框,用來輸入用戶名和密碼,一個登錄按鈕,一個指向Register.aspx的超鏈,

Register.aspx,用戶注冊頁,注冊用戶信息,隨便放一點文本框,主要是模擬一下注冊,不用真正實現,

Web.config,配置頁面。

注冊頁與登錄頁在同一目錄的機妙后面會說。

第二步:Web.config文件的修改

1、打開Web.config文件,找到authentication節,將其改為如下:

<authentication mode="Forms">  <forms name=".ASPXAUTH" loginUrl="Login.aspx" protection="All" path="/" timeout="20"/></authentication><authorization>  <deny users="?"></deny></authorization>

配置節屬性的具體意義和其他沒有加入的屬性網上到處都有查。這里注意一下的是authentication節和authorization節,兩個單詞很相似,但卻不是同一個單詞,每個節下面的內容也不能寫到一起。

其中,authorization節中的“allow”表示允許的意思,“*”表示所有用戶;而“deny”表示拒絕的意思;“?”表示匿名用戶;此處加入后,則代表根目錄下的所有文件和所有的子目錄都不能匿名訪問,Login.aspx 頁面除外。

2、Web.config中,Location節的應用

做了上面的配置之后,我們會發現,在沒登錄的情況下,用瀏覽器打開Default.aspx會自動轉到Login.aspx,同理Register.aspx頁面也會如此。問題:注冊用戶怎么可能在登錄后才能訪問呢?

那么我們就得說了,當注冊頁與登錄頁在同一目錄,為了達到不用登錄就能訪問注冊頁的目的,我們就得對訪問限制的Web.config配置處理一下。

方法一 :注冊頁與登錄頁放在不的目錄內

我們在根目錄添加一個文件夾Pub,將Register.aspx移動到此文件夾里,此時仍不能訪問,需要在文件夾內添加一個Web.config文件,加入:

<configuration>  <system.web>   <authorization>   <allow users="*"/>  </authorization>  </system.web> </configuration>             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万宁市| 宝应县| 诸城市| 潮安县| 中西区| 四子王旗| 肥西县| 扶余县| 河西区| 柳林县| 武陟县| 房产| 五指山市| 大理市| 修文县| 永宁县| 五台县| 水城县| 漯河市| 杨浦区| 玉溪市| 民丰县| 都江堰市| 洮南市| 南澳县| 鄂尔多斯市| 丽水市| 东乌珠穆沁旗| 麟游县| 隆化县| 大理市| 鱼台县| 德昌县| 阳东县| 牟定县| 花莲市| 宜都市| 印江| 盐源县| 疏附县| 海南省|