|
很多用戶在開發(fā) ASP.NET 應(yīng)用程序時(shí)都有這樣的需求:管理員角色的賬戶使用管理員的登錄界面進(jìn)行登錄,普通用戶角色的賬戶使用普通用戶的登錄界面進(jìn)行登錄。由于ASP.NET的web.config里只能使用一個(gè) authentication mode="Forms"節(jié)點(diǎn),所以,要實(shí)現(xiàn)不同用戶采用不同的登錄界面,一個(gè)辦法就是創(chuàng)建一個(gè)管理員專用的虛擬目錄,并設(shè)置為應(yīng)用程序來實(shí)現(xiàn)。下面介紹另外一種采用重定向的辦法來解決這個(gè)問題。
本文介紹的方法原理是根據(jù)登錄界面的返回地址進(jìn)行判斷,然后重定向到不同的頁面。下面就是實(shí)現(xiàn)的詳細(xì)過程。
1. 創(chuàng)建一個(gè)網(wǎng)站,在網(wǎng)站里創(chuàng)建Admin文件夾和User文件夾,分別存放admin和普通用戶所使用的文件。也可以只設(shè)置一個(gè) Admin 文件夾。由于本方法采用的判斷返回路徑的方法,所以,要能從路徑中區(qū)分出哪些是admin用戶使用的文件夾。當(dāng)然,采用其他的判斷方法也是可以的。
2. 在網(wǎng)站根目錄下分別創(chuàng)建3個(gè)登錄文件:Login.ASPx、UserLogin.ASPx和AdminLogin.ASPx。其中Login.ASPx文件起地址轉(zhuǎn)換的作用,
Login.ASPx文件的主要內(nèi)容:
protected void Page_Load(object sender, EventArgs e){String ReturnUrl = Request.QueryString["ReturnUrl"];if (ReturnUrl == null || ReturnUrl.Equals(String.Empty)){ //默認(rèn)情況下,按普通用戶進(jìn)行登錄 Response.Redirect("~/UserLogin.ASPx");}else{ if (ReturnUrl.ToLower().Contains("/admin/")) { Response.Redirect("~/AdminLogin.ASPx?ReturnUrl=" + Server.UrlEncode(ReturnUrl)); } else { Response.Redirect("~/UserLogin.ASPx?ReturnUrl=" + Server.UrlEncode(ReturnUrl)); }}
NET技術(shù):在 ASP.NET 中實(shí)現(xiàn)不同角色的用戶使用不同登錄界面的方法,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。