2012-09-07 39 views
1

在虛構的情況下,不應該訪問網頁的用戶將導航到該頁面。 此頁面是兒童頁面。用戶不應在此頁面中具有任何功能,甚至不能看到任何內容,但他(或她)應該仍能夠使用母版頁控件。你做什麼來禁用頁面?在asp.net中禁用頁面的簡明方法是什麼?

我想也許做一個控制元素.visible = false,但這是安全的嗎?有沒有其他方式我應該禁用一個頁面?

+0

檢查他們的權限並將其重定向到另一個頁面?或者你可以完全禁止他們的位置/角色。 – mellamokb

+0

我完全可以通過它,並確保他們不能做任何我不想讓他們做的事情,但是我認爲ASP.NET(我還是比較新的)會有某種喜歡的,pre編程簡單的方法關閉用戶 – proseidon

+1

你使用什麼權限結構?例如,您是否使用由標準SQL數據庫結構支持的內置成員資格提供程序?有一種集成的方式來控制對web.config中特定頁面或整個文件夾的角色/用戶訪問權限,這就是我所說的「位置/角色」。 – mellamokb

回答

2

提供一個nopermission.aspx頁有你想所需的母版頁,然後在Page_Load重定向到該頁面

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!HasPermission("User123")) //User does not have permission 
     Response.Redirect("nopermission.aspx"); 

    //otherwise, the page continues as required 
} 

你可以把你所希望的任何友好的信息在nopermission

+0

更好的方法是使用'Page_init'事件進行此項檢查。或者如果你爲你的應用程序使用任何'BasePageClass',那將會更好。如果是,那麼在'BasePage'' Overrided'' OnInit'方法中檢查這個條件。 –

1

假設我的理解你的問題,並假設你指的是ASP.Net Web窗體,然後查看<asp:LoginView />控件。

它有一個<AnonymousTemlate />和一個<LoggedInTemplate />分別表示用戶類型(匿名或登錄,將顯示相應的內容)。

它與ASP.net窗體身份驗證一起使用。

對於細節:MSDN - ASP.Net Login Controls

H個....

0

製作控件可見= false如果用戶沒有訪問,因爲此控件的沒有被呈現的應該是安全的服務器。

然而,如果用戶試圖訪問一個網頁,他們沒有獲得,我通常記錄活動,並將其重定向到一個「對不起,你沒有權限查看此頁」屏幕

相關問題