1: Imports Bee.App
2:
3: ''' <summary>
4: ''' 页面基础类别。
5: ''' </summary>
6: Public Class TBBasePage
7: Inherits System.Web.UI.Page
8:
9: Private Const KEY_USERINFO As String = "_UserInfo"
10: Private FUserInfo As TUserInfo = Nothing
11:
12:
13: ''' <summary>
14: ''' 是否做登入验证。
15: ''' </summary>
16: Protected Overridable ReadOnly Property IsCheckLogin() As Boolean
17: Get
18: Return True
19: End Get
20: End Property
21:
22: ''' <summary>
23: ''' 取得 Web.config 中 appSettings 区段定义的参数。
24: ''' </summary>
25: Public Overloads Function AppSettings(ByVal Name As String) As String
26: Return AppSettings(Name, String.Empty)
27: End Function
28:
29: ''' <summary>
30: ''' 取得 Web.config 中 appSettings 区段定义的参数。
31: ''' </summary>
32: Public Overloads Function AppSettings(ByVal Name As String, ByVal DefaultValue As String) As String
33: Dim sValue As String
34:
35: sValue = System.Web.Configuration.WebConfigurationManager.AppSettings(Name)
36: If sValue Is Nothing Then
37: Return DefaultValue
38: Else
39: Return sValue
40: End If
41: End Function
42:
43: ''' <summary>
44: ''' 登入页面网址。
45: ''' </summary>
46: Public Overridable ReadOnly Property LoginUrl() As String
47: Get
48: Dim sUrl As String
49: sUrl = Me.AppSettings("LoginUrl")
50: If String.IsNullOrEmpty(sUrl) Then
51: Throw New Exception("未设定登入页面")
52: Else
53: Return sUrl
54: End If
55: End Get
56: End Property
57:
58: ''' <summary>
59: ''' 使用者信息。
60: ''' </summary>
61: Public ReadOnly Property UserInfo() As TUserInfo
62: Get
63: If FUserInfo Is Nothing Then
64: If Me.Session(KEY_USERINFO) Is Nothing Then
65: FUserInfo = New TUserInfo()
66: Me.Session(KEY_USERINFO) = FUserInfo
67: Else
68: FUserInfo = CType(Me.Session(KEY_USERINFO), TUserInfo)
69: End If
70: End If
71: Return FUserInfo
72: End Get
73: End Property
74:
75: Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
76: '判断是否做登入验证
77: If Me.IsCheckLogin Then
78: '判断是否登入,若未登入则转址到登入页面
79: If Not Me.UserInfo.IsLogin Then
80: Page.Response.Redirect(Me.LoginUrl)
81: End If
82: End If
83:
84: MyBase.OnInit(e)
85: End Sub
86: End Class