2011-11-15 66 views
0

我開發檢查登錄處理VB.NET

需要登錄的應用程序。我使用的母版頁和這是我的主菜單系統中的客戶網絡控制。

主菜單訪問數據庫中的信息,以提供通知和各種事情,沒有一個會工作,除非用戶登錄

我試圖把下面的代碼:

If Session("hgAdminUser") = "" And InStr(Request.ServerVariables("url"), "/Login.aspx") <= 0 Then _ 
      Response.Redirect("Login.aspx") ' if userSession is empty, redirect to login page. 

進入我的母版代碼的頂部落後,但它仍然試圖處理腳本,主要的問題是它正在運行的需要訪問數據庫,它不能從沒有登錄所需的參數做.ascs文件。

我已經嘗試了Page_PreInit子內運行它,也Page_Load中和Page_Init,但在所有情況下,它會忽略這個(或可能不會將其忽略,而是錯誤進來它與此交易之前),並返回一個大脂肪錯誤,由於我不希望它運行的功能!

所以基本上,我的問題是,我怎麼能檢查一個會話變量,如果不存在,導致頁面上的所有其他腳本被忽略和重定向?

這是所有使用VB.NET

回答

0

你必須設計不同的母版頁public內容頁和secure內容的網頁。

你可以寫在PreInit的處理程序或secure母版頁Load事件下面的代碼。

If IsNothing(Session("hgAdminUser")) Then 
    Response.Redirect("~/Login.aspx") 
End If 
+0

安全主頁如何不同呢?實際上,唯一的「公共」頁面是登錄頁面。對不起,我是一個完整的牛逼到.NET –

+0

安全內容的網頁是由有效用戶(認證)要求。 – adatapost