JordanTrajkov Ответов: 1

Доступ к сетевым принтерам запрещен для ASP.NET приложение


I have instaled asp.net application on a server. I want to display network printers in a dropdown and i use this codes to achive that goal:


Защищенные Переопределения Sub LoadPrinters()
Dim permison As New PrintingPermission(PrintingPermissionLevel.AllPrinting)

Если Нет IsPostBack То
Тусклый strPrinter как строка
Дим ли, как элемент listitem
dlPrinters.Предметы.Четкий()
dlPrinters.Предметы.Add(New ListItem("Выберите Принтер", ""))

Для каждого strPrinter в системе.Рисование.Печатание.Типографские установки.InstalledPrinters
dlPrinters.Предметы.Добавить(strPrinter)
Следующий
Конец, Если


Also i try this code:



Private Sub PrinterList()  
   
  
    ' USING WMI. (Windows Management Instrumentation)  
    Dim objMS As System.Management.ManagementScope = _  
        New System.Management.ManagementScope(ManagementPath.DefaultPath)  
    objMS.Connect()  
  
    Dim objQuery As SelectQuery = New SelectQuery("SELECT * FROM Win32_Printer")  
    Dim objMOS As ManagementObjectSearcher = New ManagementObjectSearcher(objMS, objQuery)  
    Dim objMOC As System.Management.ManagementObjectCollection = objMOS.Get()  
  
    dlPrinters.Items.Clear()  
    dlPrinters.Items.Add(New ListItem("Select Printer", ""))  
  
    For Each Printers As ManagementObject In objMOC  
        If CBool(Printers("Local")) Then                        ' LOCAL PRINTERS.  
            dlPrinters.Items.Add(Printers("Name"))  
        End If  
        If CBool(Printers("Network")) Then                      ' ALL NETWORK PRINTERS.  
            dlPrinters.Items.Add(Printers("Name"))  
        End If  
    Next Printers  
End Sub  



In both scenarios i cannot see network printers in the dropdown list and if i use second code i can see error: Access is denied.
 
My application is using impersonate account with full permision to the network and printers. What else can make the problems? 


Что я уже пробовал:

Я пробую много примеров, как читать принтеры, но это не работает

F-ES Sitecore

Если ваше приложение имеет полный доступ к сети и принтерам, то вы не получите ошибку отказа в доступе, так что, возможно, ваше приложение не имеет тех разрешений, которые вы думаете?

JordanTrajkov

Я создаю нового пользователя с полными разрешениями и добавляю его в качестве олицетворяющего пользователя в веб-конфигурации. если я запускаю свое приложение с доменом localhost, я могу видеть принтеры в сети. Если я запускаю его с ip-адресом машины, он выдает ошибку access denied.
Может быть, мне не хватает, чтобы где-то установить разрешение?

1 Ответов

Рейтинг:
1

#realJSOP

(Служба?) учетная запись unhder, которая работает в вашем веб-приложении, не имеет доступа к принтерам. Более важный вопрос - Зачем вам нужно веб-приложение для доступа к принтерам? Похоже, это созрело для злоупотреблений.


JordanTrajkov

Я создаю нового пользователя с полными разрешениями и добавляю его в качестве олицетворяющего пользователя в веб-конфигурации. если я запускаю свое приложение с доменом localhost, я могу видеть принтеры в сети. Если я запускаю его с ip-адресом машины, он выдает ошибку access denied.

Нам это нужно, потому что у нас есть онлайн-архивное приложение для документов, которые должны быть напечатаны.