Никакое разрешение получить доступ к частному MSMQ

Это напрямую не поддерживается токеном ERC-20. Поэтому, если вы хотите сделать это, вам придется самостоятельно добавлять дополнительные функции и отслеживать, у кого есть токены, а кого нет, каждый раз, когда происходит передача. Затем вы можете создать функцию, чтобы получить этот номер. Поскольку он не поддерживается ERC-20, вы не найдете его в etherscan, вам придется получить его самостоятельно. Добавление дополнительной функциональности не помешает токену стать ERC-20.

Другим способом было бы перебрать все адреса, что является действительно плохой идеей.

Или, если у вас работает сервер, вы можете прослушать все события в контракте и отслеживать владельцев в своей собственной базе данных.

25
задан Mez 23 April 2009 в 18:29
поделиться

2 ответа

Это может произойти, если служба .NET удалила группу «Все» из разрешений частной очереди. Вот некоторые шаги, которые вы можете предпринять, чтобы решить эту проблему:

  1. Остановите службу MSMQ

  2. Откройте папку C: \ WINDOWS \ system32 \ msmq \ storage \ lqs

  3. Найдите файл в этой папке, который описывает ваша очередь - (incommingQueue)

  4. С помощью блокнота откройте файл lqs для какой-нибудь другой частной очереди, которая имеет хорошие разрешения безопасности. (Если у вас нет других частных очередей, создайте их)

  5. Найдите строку в файле, которая начинается Security = ....

  6. Скопируйте всю строку в буфер обмена (следите за переносом слов эта строка будет довольно длинной)

  7. Откройте файл lqs для вашей очереди проблем в текстовом редакторе

  8. Перезаписать Security = ... Строка в этом файле с содержимым буфера обмена

  9. Сохраните измененный файл lqs

  10. Запустите службу MSMQ

Вы должны обнаружить, что очередь проблем теперь имеет те же разрешения, что и очередь, параметры безопасности которой вы скопировано на шаге 6 выше.

52
ответ дан 28 November 2019 в 17:56
поделиться

Решение, размещенное здесь, кажется чем-то вроде взлома. Возможно, это необходимо для Windows XP. Я столкнулся с чем-то похожим при использовании Windows 7 и использовал другой подход для решения этой проблемы.

Ситуация:

  • Программа состоит из кода C #, который создает частную очередь транзакций.
  • Программа запускается как служба Windows, работающая под учетной записью локальной системы.
  • При запуске службы создается частная очередь с учетной записью локальной системы в качестве владельца.
  • Несмотря на то, что я администратор, я не могу просматривать сообщения из очереди.

Решение (это для Windows 7):

  1. Запустить compmgmt.msc
  2. Открыть «Службы и приложения»
  3. Открыть «Очереди сообщений»
  4. Открыть «Частные очереди»
  5. Щелкните правой кнопкой мыши вновь созданная очередь
  6. Нажмите «Свойства»
  7. Выберите вкладку «Безопасность»
  8. Нажмите «Дополнительно»
  9. Выберите вкладку «Владелец»
  10. Выберите «Администратор»
  11. Выберите «Разрешения» вкладка
  12. Нажмите «Добавить»
  13. Введите имя своей учетной записи (например, «Администратор»)
  14. Нажмите «Проверить имена»
  15. Нажмите «ОК»
  16. Нажмите «ОК»
  17. Нажмите 'OK'

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

27
ответ дан 28 November 2019 в 17:56
поделиться