/
ivan
/
ModMas
Обзор
Документация
Войти
/
ivan
/
ModMas
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ModuleMaster/app_code/authorization.vb
47 строк
2 KB
i.krivokon
Initial commit
13 мар 2026, 13:49
13 мар 2026, 13:49
00d9fb6
Код
Авторство
О чём код?
Imports Microsoft.VisualBasic Imports System.Text Imports System.Collections Imports System Imports sharedClasses.dbFunctions Public Class authorization Public Shared Function CheckAuthorityForTable(ByVal userId As String, ByVal tableid As String) As Hashtable Dim sqlf As New SqlFunctions Dim returnParams As New Hashtable Dim AccessType As String = "" Dim fields As String = "" Try Dim dr As System.Data.DataRow = sqlf.GetData("select * from [UserModules].[dbo].[ModuleTables] where id = " & tableid).Rows(0) Dim sql As New StringBuilder sql.Append("SELECT ta.*, ") sql.Append(" tg.*, ") sql.Append(" tu.* ") sql.Append("FROM UserModules .dbo.[authorization] ta ") sql.Append("LEFT OUTER JOIN UserModules .dbo.groups tg ") sql.Append("ON ta.groupid = tg.id ") sql.Append("LEFT OUTER JOIN UserModules .dbo.users tu ") sql.Append("ON tg.id = tu.groupid ") sql.Append("WHERE tableid = " & tableid) sql.Append("AND (tu.userid = '" & userId.ToUpper & "' or tu.userid='*') ") Dim ds As System.Data.DataTable = sqlf.GetData(sql.ToString) If ds.Rows.Count > 0 Then For Each r As System.Data.DataRow In ds.Rows AccessType &= r("AccessType").ToString.Trim If r("fieldId") <> "0" Then fields &= r("fieldId") End If Next End If Catch ex As Exception AccessType = "X" fields = "" End Try returnParams.Add("ACCESSTYPE", AccessType) returnParams.Add("FIELDS", fields) Return returnParams End Function End Class