您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“VS2003配置文件的方法有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“VS2003配置文件的方法有哪些”吧!
大家知道VS2003配置文件已經(jīng)出來(lái)了,而且多加了許多優(yōu)異的功能,但由于時(shí)間限制,很多人還徘徊在VS2003配置文件中。最近我研究communityServer發(fā)現(xiàn)里面竟然后masterpage和memebership兩個(gè)類。
Membership里共有四個(gè)大類:
◆scalablehosting:表示一切類的基類。
◆scalablehosting.configuration:一些配置的基本信息(有cookie的存放地址,名稱等)。
◆scalablehosting.profile:用戶的個(gè)性化信息。不同的用戶可能看到不同的界面和不同的配置。
◆scalablehosting.Security:安全性設(shè)置,就是用戶角色和權(quán)限的配置了,都在這里面。
我自己的開始是小部分的練習(xí),就是從添加用戶,修改,刪除用戶,然后授予角色,設(shè)置特性開始的。所以請(qǐng)容許我按照我的思路來(lái)描述這些類,而不是一個(gè)類一個(gè)類的來(lái)講他們的作用。我依次會(huì)從用戶的增,刪,改,查詢?yōu)槠瘘c(diǎn)來(lái)說(shuō)明,這就是***講。
添加用戶:
因?yàn)槭?span >VS2003配置文件***個(gè)小DEMO,所以需要做的前提事情很多,但以后這些就不需要做了,雖然看起來(lái)很麻煩,我也是費(fèi)了一天的時(shí)間才調(diào)整好。但為了以后方便的使用,建議大家還是先這樣布置好。
首先在webconfig中,添加配置節(jié)。注意配置類型的修改,如果從communityserver中copy過(guò)來(lái),是帶publickey的,這個(gè)我們?cè)跍y(cè)試的時(shí)候可以去掉(當(dāng)然AssemblyInfo.cs中的keyfile屬性內(nèi)容設(shè)置為""),如果把publickey去掉,必須將memberrole.dll放在你的應(yīng)用程序的根目錄下。注意配置節(jié)里凡是有關(guān)空間名稱的地方,都得把type修改成memberrole.dll中的空間名稱,因?yàn)閏ommunityserver中用的是自己擴(kuò)展的類。
還有就是自己添加的appSettings里面的連接字符串的名字要和上面這些配置節(jié)的名字一致。對(duì)配置節(jié)不熟悉的人可以多參考一些配置節(jié)設(shè)置的資料,我上面也有一篇,寫的比較簡(jiǎn)單。其次是數(shù)據(jù)庫(kù)里面的設(shè)置,必須加入communityserver中的六個(gè)aspnet_開頭的表。而且還得把所有aspnet開頭的存儲(chǔ)過(guò)程copy過(guò)來(lái)。注意表aspnet_SchemaVersions雖然與其他表無(wú)關(guān)聯(lián),但里面的內(nèi)容很重要,也得copy過(guò)來(lái)。
添加用戶的主要方法用到的是SqlMembershipProvider.cs中的CreateUser()。我們先來(lái)說(shuō)說(shuō)用到的類(當(dāng)然先得在你的應(yīng)用程序里添加引用memberrole.dll然后在cs文件中,添加using......)
membershipuser:其實(shí)就是membership表的一個(gè)實(shí)體類,注意這個(gè)類有一個(gè)類屬性[Serializable]表示可序列化的,也就是你可以把這個(gè)對(duì)象當(dāng)成是一個(gè)只有一條記錄的dataTable,如果需要返回多條記錄,那就使用MembershipUserCollection,這個(gè)也是個(gè)[Serializable]的類,功能類似于DATASET?,F(xiàn)在流行orm結(jié)構(gòu),也就是對(duì)象關(guān)系映射。直接通過(guò)操作實(shí)體類的方法而不是SQL語(yǔ)句來(lái)更新數(shù)據(jù)庫(kù)。通過(guò)數(shù)據(jù)表生成實(shí)體類的方法有很多,己寫的工具或者codesmith+模板的形式都可以,網(wǎng)絡(luò)上一搜很多,此處題外話。
membership:這個(gè)就是對(duì)用戶進(jìn)行增,刪,改的操作類,返回的當(dāng)然就是membershipuser對(duì)象。注意membership的大部分方法都是static方法,也就是說(shuō)不需要實(shí)例化membership就可以直接使用它的方法
例如:membership.createuser(...);
我們可以看到,membership里的createuser有很多重載方法,其實(shí)最主要的就是說(shuō)明一個(gè)用戶必須得有用戶名和密碼,其他都可忽略。所有的操作都其實(shí)都在參數(shù)最長(zhǎng)的那個(gè)方法里,然后從這個(gè)方法調(diào)用Membership.Provider.CreateUser(...),其實(shí)provider就類似于一個(gè)工廠方法,通過(guò)它進(jìn)行
Membership.Initialize(),然后在這個(gè)方法里通過(guò)查詢配置節(jié)來(lái)獲得究竟使用sqlprovider還是accessprovider,為vs2003使用的memberrole.dll只實(shí)現(xiàn)了sqlprovider方法,而vs2005里的還實(shí)現(xiàn)了access方法。這以后就去調(diào)用SqlMembershipProvider.cs中的createuser(..)方法,這才是真正增加用戶的方法,這里可以看到參數(shù)的賻值,調(diào)用的存儲(chǔ)過(guò)程,以及錯(cuò)誤的返回和判斷。
當(dāng)我們只需要用戶名和密碼來(lái)添加用戶的時(shí)候,注意修改配置文件里的membership配置節(jié)的地方,將requiresUniqueEmail屬性改為false,這樣就不需要e-mail必須填寫了。
例子:
兩個(gè)textbox(一個(gè)是用戶名txtname,一個(gè)是密碼txtpwd),一個(gè)按鈕(btn),然后在按鈕的click事件中直
接寫:
雖然主要用到的方法是以上這幾個(gè),但好多錯(cuò)誤和安全的判斷都在SecUtility.cs,有興趣的話我們可以去關(guān)心它一下。
就OK了,到aspnet_membership數(shù)據(jù)表中查看你添加的用戶吧。系統(tǒng)自動(dòng)會(huì)把關(guān)聯(lián)表里的內(nèi)容也添加好,看看aspnet_Users是不是也有內(nèi)容。很簡(jiǎn)單吧。
查詢用戶:
VS2003配置文件以上的配置都設(shè)置好后,后面會(huì)越來(lái)越簡(jiǎn)單。
所有對(duì)用戶的操作我們都在membership類中尋找,查詢用戶主要有兩個(gè)方法FindUsersByName()和FindUsersByEmail,他們都有多種重
載,大家根據(jù)自己的情況使用。這兩個(gè)方法返回的都是MembershipUserCollection對(duì)象(表示可能多條記錄
修改用戶密碼:
因?yàn)槲业倪@個(gè)memberrole.dll版本中沒(méi)有任何關(guān)于修改的方法,但SqlMembershipProvider提供了很多修改方法,包括修改membershipuser里面的所有屬性的方法,所以我們很容易的在membership類中自己調(diào)用。我自己增加一個(gè)修改密碼的,注意使用static方法:
由于SqlMembershipProvider的方法中提供了對(duì)參數(shù)的檢驗(yàn),所以這個(gè)地方我們什么都不用管,直接把參數(shù)給它就好。
刪除用戶:
刪除用戶包括兩種方法,一種是只刪除用戶,另一種是刪除與用戶關(guān)聯(lián)的表中的數(shù)據(jù)。其實(shí)在membership只是一個(gè)方法重載了兩次。
寫了這么多,做了這么多后,我對(duì)memberrole中關(guān)于membership中的部分算是基本上懂了。以上主要都是對(duì)用戶的基本操作,除了前提配置有點(diǎn)麻煩后,了解這些操作,連一個(gè)小時(shí)都不到。朋友們,你們明白了嗎。
明天我將研究memberrole里面的role究竟有什么好東東。
到此,相信大家對(duì)“VS2003配置文件的方法有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。