資源描述:
《MVC4驗(yàn)證用戶登錄特性實(shí)現(xiàn)方法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、MVC4驗(yàn)證用戶登錄特性實(shí)現(xiàn)方法在開發(fā)過程中,需要用戶登陸才能訪問指定的頁面這種功能,微軟已經(jīng)提供了這個(gè)特性。//摘要://表示一個(gè)特性,該特性用于限制調(diào)用方對(duì)操作方法的訪問。[AttributeUsage(AttributeTargets.Class
2、AttributeTargets.Method,Inherited=true,AllowMultiple=true)]publicclassAuthorizeAttribute:FilterAttribute,IAuthorizationFilter但是,美中不足的是,需要微軟自帶的一些用戶驗(yàn)證的東
3、西,比如數(shù)據(jù)庫,配置等等的。常常我們只需要用SESSION或者Cookies去保存用戶登錄狀態(tài)的時(shí)候,這豈不是殺雞用牛刀的感覺?那么,我們按照微軟官方的這個(gè)特性,重寫一個(gè)屬于自己的驗(yàn)證特性類就行了。下面是我常用的自己寫的一段代碼。usingSystem.Web.Mvc;namespaceSystem{//////表示需要用戶登錄才可以使用的特性///如果不需要處理用戶登錄,則請指定AllowAnonymousAttribute屬性///[AttributeUsage(AttributeTargets.Metho
4、d
5、AttributeTargets.Class,Inherited=true,AllowMultiple=true)]publicclassAuthorizationAttribute:FilterAttribute,IAuthorizationFilter{//////默認(rèn)構(gòu)造函數(shù)///publicAuthorizationAttribute(){StringauthUrl=System.Configuration.ConfigurationManager.AppSettings["AuthUrl"];St
6、ringsaveKey=System.Configuration.ConfigurationManager.AppSettings["AuthSaveKey"];StringsaveType=System.Configuration.ConfigurationManager.AppSettings["AuthSaveType"];if(String.IsNullOrEmpty(authUrl)){this._AuthUrl="/waste/user/login";}else{this._AuthUrl=authUrl;}if(String.IsNu
7、llOrEmpty(saveKey)){this._AuthSaveKey="LoginedUser";}else{this._AuthSaveKey=saveKey;}if(String.IsNullOrEmpty(saveType)){this._AuthSaveType="Session";}else{this._AuthSaveType=saveType;}}//////構(gòu)造函數(shù)重載//////表示沒有登錄跳轉(zhuǎn)的登錄地址publicAuthori
8、zationAttribute(StringauthUrl):this(){this._AuthUrl=authUrl;}//////構(gòu)造函數(shù)重載//////表示沒有登錄跳轉(zhuǎn)的登錄地址///表示登錄用來保存登陸信息的鍵名publicAuthorizationAttribute(StringauthUrl,StringsaveKey):this(authUrl){this.AuthSaveKey=s
9、aveKey;this.AuthSaveType="Session";}//////構(gòu)造函數(shù)重載//////表示沒有登錄跳轉(zhuǎn)的登錄地址///表示登錄用來保存登陸信息的鍵名///表示登錄用來保存登陸信息的方式publicAuthorizationAttribute(StringauthUrl,StringsaveKey,Stringsave
10、Type):this(authUrl,saveKey){this._AuthSaveType=saveType;}///<