public static datatable listuser(string userroles)//列出指定組的使用者資訊 return dt; } public static void deleteuser(string username)/刪除指定使用者 public static void updateuser(string username)/更新指定使用者
2、自定義乙個membershipinfo**,同membership系統標關聯起來。自己編寫sql語句來進行查詢,修改等功能。
列出指定組的使用者 select * from aspnet_membership inner join aspnet_users on aspnet_membership.userid=aspnet_users.userid left join memberinfo on aspnet_membership.userid=memberinfo.userid where aspnet_membership.userid=(select userid from aspnet_usersinroles inner join aspnet_roles on aspnet_usersinroles.roleid=aspnet_roles.roleid where rolename='admin')
刪除、修改等功能比較簡單,這裡就不作敘述。可以採用membership的createuser方法建立,然後再用sql語句寫入memberinfo表。 對於建立使用者,我們可以採取擴充套件createuserwizard控制項,或者自行寫登陸介面。
1、採取擴充套件createuserwizard控制項,我們可以使用它的模版列,此時需要注意的是:使用者名稱,密碼,提示問題,提示問題答案,email,他們的id一定要分別是username,password,question,answer,email否則會出錯,而且此時驗證控制項均不能使用。懷疑是ide的乙個bug。 如下所示,我們定義好的樣式應當是:
<wizardsteps> <asp:createuserwizardstep runat="server"> 自定義**部分<contenttemplate> </contenttemplate> </asp:createuserwizardstep> </wizardsteps> **部分: protected void createuserwizard1_createduser(object sender, eventargs e)
2、採取自己寫ui,個人推薦使用這種方法。靈活性比較大,而且可以使用2005強大的驗證控制項。 頁面部分比較簡單略過不再陳述。下面詳細介紹一下**部分。 此時我們需要使用membership的createuser()方法。語法我們就不再介紹。他會根據建立使用者的結果返回成乙個membershipcreatestatus列舉類,它詳細的包含了所有建立使用者不成功的錯誤資訊。我們只需要根據他的值,就可以返回給介面相應的提示,如:使用者名稱已經存在,電子郵件已經存在等等。 對於自定義使用者資訊部分我們仍然可以採取profile或者自定義membershipinfo表的方法。 列出profile建立使用者的方法。sql語句比較簡單,略過不寫。
protected void button1_click(object sender, eventargs e) else } public void geterrormessage(membershipcreatestatus status) }
個人見解:採取profile的方法,比較方便,由於profile 是強型別,可以通過智慧型感知功能減少**的輸入量。採取自定義資料表的方法,需要輸入大量的sql語句,但是查詢速度比較快,效能比較強,由於roles.getusersinrole()方法無法分頁讀取資料,只能一次性讀出來所有資料,而自寫sql 語句可以很方便的根分頁結合起來。隨著使用者量的增多,故不推薦profile方法。
三、密碼問題。個人覺得密碼是乙個比較頭疼的問題。我們在實際開發中總是需要admin組有對使用者進行密碼修改的許可權。membership提供的修改密碼方法只能在已經知道密碼提示答案的時候才能修改。而admin組根本不可能知道使用者的密碼提示答案的。這裡有點好笑。難道是中西方文化差異? 列出個人對membership密碼研究的一些心得。 大家都知道machine.config和web.config,如果兩者發生衝突,那麼以web.config優先。 預設狀態下,membership是採用sha1的方法進行加密,然後採取一種機制,與passwordsalt進行再次加密,最後形成資料庫中顯示的密碼。可見隨著md5加密的破解,微軟對密碼的安全也煞費苦心。 有的朋友不喜歡預設的sha1加密形式,我們只需要在web.config中設定以下**來覆蓋machine.config中對密碼的設定就好了:
membership使用者許可權管理
using system using system.data using system.configuration using system.collections using system.web using system.web.security using system.web.ui usin...
MemberShip學習之 註冊使用者
vs自帶註冊使用者控制項createuserwizard,這個控制項雖然可以修改,但畢竟是別人的東西,很多地方不符合自己的要求。因此很多時候我們都希望自己來製作漂亮的註冊頁面。在製作註冊頁面之前,我們需要先配置web.config,也就是配置membership節。web.config的配置情況決定...
使用者登入儲存使用者資訊,退出清理使用者資訊
1.使用sessionstorage的時候 登入時儲存使用者的登入資訊 如果只是想單純的儲存使用者的token或者id的話可以這樣寫 window.sessionstorage.setitem userid result.data.userid window.sessionstorage.setit...