Получить логин пользователя



  • Привет! Кто знает, как получить логин пользователя (который используется при первом запуске самого скрипта)? Вариант считывания из сеттингс.ини не подходит. Может быть как-то через api BAS? что то вроде Api.Login. Пользовательский интерфейс не использую. Буду благодарен за подсказку!



  • Через "Запустить процесс", с батником, внутри которого команда whoami, пробовал?



  • @gaget007 наверное только пользовательский интерфейс, который вы не используете )



  • @yubas Мне не нужны данные пользователя виндовс



  • @usertrue Стандартный интерфейс как-то передает данные тоже



  • @gaget007 said in Получить логин пользователя:

    который используется при первом запуске самого скрипта

    Т.е. получить откуда-то при первом запуске и использовать его всегда?



  • @yubas said in Получить логин пользователя:

    @gaget007 said in Получить логин пользователя:

    который используется при первом запуске самого скрипта

    Т.е. получить откуда-то при первом запуске и использовать его всегда?

    Речь идёт об данных для авторизации пользователя для приватных скриптов:
    0_1554446524971_c53c460c-1cbc-44f2-b118-d0f064e13553-изображение.png



  • @gaget007 said in Получить логин пользователя:

    @usertrue Стандартный интерфейс как-то передает данные тоже

    И что ? ) Должен быть интерфейс через который их получить, в управляемом для этого есть специальный обработчик событий, который ловит эти данные.



  • @usertrue said in Получить логин пользователя:

    @gaget007 said in Получить логин пользователя:

    @usertrue Стандартный интерфейс как-то передает данные тоже

    И что ? ) Должен быть интерфейс через который их получить, в управляемом для этого есть специальный обработчик событий, который ловит эти данные.

    Реально кстати, через веб интерфейс это можно сделать и не сложно.


    0_1554461411466_d1c2a07f-6a22-4fc1-9dfc-df87367b64fd-изображение.png
    На странице входа значения логина и пароля положил в localStorage (надо попробовать просто в переменную сохранить)

         $("#Login").click(function(){
          localStorage.setItem('Username', $("#Username").val())
          localStorage.setItem('Password', $("#Password").val())
          /////Show progress bar and wait for next message
          UIkit.tab($("#InitializationTabHeader")[0]).show(0);
          Api.Login($("#Username").val(), $("#Password").val())
         })
    

    0_1554461428792_0ad39489-a87d-4906-a8a1-722839442e75-изображение.png
    а на главной странице достал из localStorage значения и положил в ресурс

         $("#RunScript").on("click", function() {
            var qq = localStorage.getItem('Username') + ";" + localStorage.getItem('Password')
            $("#login").val(qq)
            /////Validate resources
            if(IsResourcesValid())
            {
              /////Disable run button immediately
              $("#RunScript").attr("disabled","disabled")
              /////Start script
              Api.AcceptResources()
            }else
            {
              /////Ask user if he want to continue
              UIkit.modal.confirm(tr('There are incorrectly filled fields on the form. Are you sure, that you want to continue?')).then(function() {
                $("#RunScript").attr("disabled","disabled")
                Api.AcceptResources()
              });
            }
         });
    

    сам ресурс спрятал через html атрибут hidden="true"

    0_1554461343526_support34.gif



    Тестовый исходный скрипт
    Тестовый скомпилированный скрипт (пароль bablosoft)
    логин wTeU4Diaz8
    пароль nSAxuLMEN5

    Экспортированный интерфейс страницы входа
    Экспортированный интерфейс главной страницы



  • Спасибо, это решение отличное и дает нужный результат. Но я не использую кастомный интерфейс, и в этом сложность...



  • @gaget007 said in Получить логин пользователя:

    Спасибо, это решение отличное и дает нужный результат. Но я не использую кастомный интерфейс, и в этом сложность...

    Я знаю, с Евгением мы уже пообщались. Support говорит, что ни как надёжно не сделать в обычном интерфейсе и советует использовать несколько версий скрипта.



  • @fox Несколько версий скрипта, не самый удобный вариант, но по большому счету костыль найден.

    Сейчас возник другой вопрос, даже скорее пожелание - в лк можно указывать дату истечения лицензии в двух вариантах:

    1. Указать конкретную дату
    2. Указать кол-во дней - при этом варианте отсчет начнется только с момента первого запуска скрипта. Проблема кроется в том, что если указать несколько машин, а активировать одну, то по окончании срока, лицензия на этот скрипт заканчивается на всех машинах, то есть даже на тех, где еще не активирована (хотя в настройках лк указано: будет активирована при первом использовании). Так вот полагаю - было бы удобнее и логичнее, если бы при втором варианте выдачи лицензий отсчет был индивидуально по каждой активированной копии. Это актуально например для создания и распространения демо-версий программы с одним логином/паролем на ограниченное кол-во дней индивидуально для каждого пользователя.

    @fox я уверен, ты как администратор форума, быстрее сможешь донести эту мысль до разработчика и получить от него комментарий. Заранее благодарен!


Log in to reply