Re: Global.asax

  •  06-24-2009, 1:25 AM

    Re: Global.asax

    Hi Terry,
     
    My Complete code looks like this now:
    1. <%@ Application Codebehind="Global.asax.vb" Inherits="SiennEngine.Global_asax" Language="vb" %>   
    2. <%@ Import Namespace="System" %>   
    3. <%@ Import Namespace="System.Collections" %>   
    4. <%@ Import Namespace="System.ComponentModel" %>   
    5. <%@ Import Namespace="System.Web" %>   
    6. <%@ Import Namespace="System.Web.SessionState" %>   
    7. <%@ Import Namespace="System.Security.Principal" %>   
    8. <%@ Import Namespace="System.Data" %>   
    9. <%@ Import Namespace="System.Data.SqlClient" %>   
    10.   
    11. <%@ Import Namespace="CuteChat" %>   
    12.   
    13. <script runat="server" Language="vb">   
    14.        
    15.     Public Overloads Overrides Sub Init()   
    16.         MyBase.Init()   
    17.        
    18.         SyncLock GetType(CuteChat.ChatSystem)   
    19.             If Not CuteChat.ChatSystem.HasStarted Then  
    20.                 CuteChat.ChatProvider.Instance = New MyChatProvider()   
    21.                 CuteChat.ChatSystem.Start(New CuteChat.AppSystem())   
    22.             End If  
    23.         End SyncLock  
    24.     End Sub  
    25.        
    26.     Public Class MyChatProvider   
    27.         Inherits CuteChat.ChatProvider   
    28.         Dim pbw As New SiennEngine.PBW   
    29.         Dim Constring As String = pbw.get_constring()   
    30.         Dim Cid As String = pbw.get_cid_currentdomain()   
    31.      
    32.         Dim prefix As String = Cid & "U_"  
    33.         Dim userId as string = ""  
    34.            
    35.         Public Overloads Overrides Function GetConnectionString() As String  
    36.             Dim Retstring As String = Constring   
    37.             Return Retstring   
    38.         End Function  
    39.         Public Overloads Overrides Function FindUserLoginName(ByVal nickName As StringAs String  
    40.             try   
    41.                userId = httpcontext.current.request.Cookies("UserId").Value   
    42.             catch   
    43.             end try   
    44.             Dim Retstring As String = ""  
    45.             Dim Query As String = "Select UserName from " & prefix & "users where Id = " & UserId   
    46.             Dim Con As New SqlConnection(constring)   
    47.     
    48.             Dim Com As New SqlCommand(Query, Con)   
    49.             Try  
    50.                 Con.Open()   
    51.                 Dim Reader As SqlDataReader = Com.ExecuteReader()   
    52.                 While Reader.Read()   
    53.                     Retstring = reader(0)   
    54.                 End While  
    55.             Catch  
    56.             End Try  
    57.             Con.Close()   
    58.             Return Retstring   
    59.         End Function  
    60.         Public Overloads Overrides Function GetLogonIdentity() As AppChatIdentity   
    61.             'need to find the information of current user. Return null if user is anonymous.   
    62.             try   
    63.                userId = httpcontext.current.request.Cookies("UserId").Value   
    64.             catch   
    65.             end try   
    66.        
    67.             Dim loginname As String = ""  
    68.             Dim nickname As String = ""  
    69.             Dim Query As String = "Select UserName, NickName from " & prefix & "users where Id = " & UserId   
    70.             Dim Con As New SqlConnection(constring)   
    71.     
    72.             Dim Com As New SqlCommand(Query, Con)   
    73.             Try  
    74.                 Con.Open()   
    75.                 Dim Reader As SqlDataReader = Com.ExecuteReader()   
    76.                 While Reader.Read()   
    77.                     loginname = reader(0)   
    78.                     nickname = Reader(1)   
    79.                     If Nickname Is Nothing Or nickname = "" Then nickname = loginname   
    80.                 End While  
    81.             Catch  
    82.                 nickname = loginname   
    83.             End Try  
    84.             Con.Close()   
    85.   
    86.             Return New AppChatIdentity(nickname, False, ToUserId(loginname), HttpContext.Current.Request.UserHostAddress)   
    87.         End Function  
    88.         Public Overloads Overrides Function GetUserInfo(ByVal loginName As StringByRef nickName As StringByRef isAdmin As BooleanAs Boolean  
    89.             ' , if the loginName is invalid.   
    90.             'otherwise set the nickName and isAdmin , and return ture   
    91.             try   
    92.                userId = httpcontext.current.request.Cookies("UserId").Value   
    93.             catch   
    94.             end try   
    95.             Dim userType As Integer = 0   
    96.   
    97.             Dim Query As String = "Select NickName,UserType from " & prefix & "users where username='" & loginName & "'"  
    98.             Dim Con As New SqlConnection(constring)   
    99.     
    100.             Dim Com As New SqlCommand(Query, Con)   
    101.             Try  
    102.                 Con.Open()   
    103.                 Dim Reader As SqlDataReader = Com.ExecuteReader()   
    104.                 While Reader.Read()   
    105.                     UserType = reader(1)   
    106.                     nickname = Reader(0)   
    107.          
    108.          
    109.                     If Nickname Is Nothing Or nickname = "" Then nickname = loginname   
    110.                 End While  
    111.             Catch  
    112.                 nickname = loginname   
    113.             End Try  
    114.             Con.Close()   
    115.             If UserType = 1 Then  
    116.                 isAdmin = True  
    117.             Else  
    118.                 isAdmin = False  
    119.             End If  
    120.             Return True  
    121.         End Function  
    122.         Public Overloads Overrides Function ValidateUser(ByVal loginName As StringByVal password As StringAs Boolean  
    123.             'check the username/password .    
    124.             'if valid , set the cookie.   
    125.             Return True  
    126.         End Function  
    127.     End Class  
    128.        
    129. </script>  

    Regards
    pbwbart
View Complete Thread