دختر کوهستان
دوشنبه 29 آذر 1389, 20:57 عصر
سلام دوستان. من توی سایتم یه پوشه ی admin دارم که فقط نقش admin می تونه که ازش استفاده کنه. یه کلاس هم دارم که در اون در واقع کلاس roleprovider رو شخصی سازی کردم البته فقط دو تا تابعش رو. این تابع ها اینا هستند:
Public Overrides Function GetRolesForUser(ByVal username As String) As String()
Dim UserRolename(1) As String
MySQL = "SELECT roles.rolename FROM [user] INNER JOIN roles ON [user].roleid = roles.roleid WHERE ([user].username = @username)"
Cmd.CommandText = MySQL
Cmd.Parameters.AddWithValue("@username", username)
MyConn.Open()
objDR = Cmd.ExecuteReader(System.Data.CommandBehavior.Clos eConnection)
If (objDR.Read()) Then
UserRolename(0) = objDR("rolename").ToString() ' واکشینقشکاربرازدیتابیس
End If
Return UserRolename
End Function
Public Overrides Function IsUserInRole(ByVal username As String, ByVal roleName As String) As Boolean
MySQL = "SELECT roles.rolename as rolename FROM [user] INNER JOIN roles ON [user].roleid = roles.roleid WHERE ([user].username = @username)"
Cmd.CommandText = MySQL
Cmd.Parameters.AddWithValue("@username", username)
MyConn.Open()
objDR = Cmd.ExecuteReader(System.Data.CommandBehavior.Clos eConnection)
If (objDR.Read()) Then
If (objDR("rolename") = roleName) Then
Return True
Else
End If
End If
Return False
End Function
اما هر بار که می خوام یکی از صفحات این پوشه رو باز کنم این error رو میده:
Key cannot be null
Parameter name:key
اینم تصویر خطاو پشته ی برنامه:
63872
Public Overrides Function GetRolesForUser(ByVal username As String) As String()
Dim UserRolename(1) As String
MySQL = "SELECT roles.rolename FROM [user] INNER JOIN roles ON [user].roleid = roles.roleid WHERE ([user].username = @username)"
Cmd.CommandText = MySQL
Cmd.Parameters.AddWithValue("@username", username)
MyConn.Open()
objDR = Cmd.ExecuteReader(System.Data.CommandBehavior.Clos eConnection)
If (objDR.Read()) Then
UserRolename(0) = objDR("rolename").ToString() ' واکشینقشکاربرازدیتابیس
End If
Return UserRolename
End Function
Public Overrides Function IsUserInRole(ByVal username As String, ByVal roleName As String) As Boolean
MySQL = "SELECT roles.rolename as rolename FROM [user] INNER JOIN roles ON [user].roleid = roles.roleid WHERE ([user].username = @username)"
Cmd.CommandText = MySQL
Cmd.Parameters.AddWithValue("@username", username)
MyConn.Open()
objDR = Cmd.ExecuteReader(System.Data.CommandBehavior.Clos eConnection)
If (objDR.Read()) Then
If (objDR("rolename") = roleName) Then
Return True
Else
End If
End If
Return False
End Function
اما هر بار که می خوام یکی از صفحات این پوشه رو باز کنم این error رو میده:
Key cannot be null
Parameter name:key
اینم تصویر خطاو پشته ی برنامه:
63872