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

Поддержка
  • Привет! Кто знает, как получить логин пользователя (который используется при первом запуске самого скрипта)? Вариант считывания из сеттингс.ини не подходит. Может быть как-то через 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 я уверен, ты как администратор форума, быстрее сможешь донести эту мысль до разработчика и получить от него комментарий. Заранее благодарен!

  • @Fox will this work currently?

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

    @Fox will this work currently?

    What exactly?

  • @Fox Retrieving the login and logging it within BAS, i just tried and it didn't work maybe i did something wrong? or is it outdated?

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

    @Fox Retrieving the login and logging it within BAS, i just tried and it didn't work maybe i did something wrong? or is it outdated?

    It should work, but read carefully, the code will work only provided that the authorization data is entered on the authorization page in the script

  • @Fox When i tested your script and used the ui you made it worked perfectly, but when i tried manually replacing the code you used, into my script it didn't seem to work, it would just log an empty string instead of the login i used on the login screen. Even tried a fresh script with the login resource and compiled it and applied the code to the ui's, as well and it still didn't work. So maybe they updated something which causes it not to work?

  • @Fox If you could please test the code snippets added onto a new script, it would be greatly appreciated. Thank you.

  • @Fox I found a fix on the main screen ui i just used this code

     /////Start script after run button is clicked
          $("#RunScript").on("click", function() {
             var login_string = localStorage.getItem('Username') + ":" + localStorage.getItem('Password')
             SetResourceValue("login", login_string)
             /////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()
               });
             }
          });
    
  • @jd-ofm said in Получить логин пользователя:

    @Fox If you could please test the code snippets added onto a new script, it would be greatly appreciated. Thank you.

    This is a normal saving of a string in localStorage, the same algorithm is used to save the language and the entered key in FM, it certainly did not stop working