добавление данных на основе учетных данных пользователя (Lightswitch HTML)

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

  • Я не хочу, чтобы пользователь, вошедший в систему, видел какие-либо другие имена, кроме собственных.
  • экран просмотра будет показывать только то время, которое они отправили, а не все.

при использовании метода вызова вставки в (_customnameDataService.cs) вы можете добавить имя пользователя, связав поле в таблице, как показано ниже:

entity.Username =  Application.User.Name

поэтому, если это возможно, должен быть способ вызвать это в JavaScript при входе в систему, поэтому любая помощь или указатели будут очень полезны. Добавление DataItem и отображение имени пользователя было бы наиболее предпочтительным. (используя код редактирования рендеринга), затем я могу передать его через иерархию и отображать только информацию, связанную с вошедшим в систему пользователем.


person Crezzer7    schedule 23.12.2014    source источник


Ответы (1)


выполните следующие действия, чтобы ответить на вышеуказанный вопрос:

  1. Google GetUserName.ashx, чтобы получить код этого файла для добавления в HTML-проект Lightswitch.
  2. скопируйте приведенную ниже функцию в файл javascript (в моем случае это экран просмотра для моих пользователей)
function CallGetUserName(operation) {
    $.ajax({
        type: 'post',
        data: {},
        url: '../web/GetUserName.ashx',
        success: operation.code(function AjaxSuccess(AjaxResult) {
            operation.complete(AjaxResult);
        })
    });
}
  1. Для пользователей, которые могут войти в систему и получить доступ к приложению Lightswitch, информация о пользователе должна где-то храниться, в моем случае «tbl_Users». В этой таблице есть строка с именем username. Используя приведенный ниже код, это позволяет администратору или кому-то вышестоящему в иерархии получить доступ ко всем пользователям, а также конкретному пользователю, указанному в таблице, получить доступ к себе.

myapp.BrowseUsers.username_postRender = функция (элемент, элемент содержимого) {

msls.promiseOperation(CallGetUserName).then(function PromiseSuccess(PromiseResult) {

    if (PromiseResult == 'TestUser' || PromiseResult == 'administrator') {

    } else {
        contentItem.value = PromiseResult;
    }

});

};

Что происходит на самом деле?

Функция вызывает файл GetUserName.ashx, который, в свою очередь, извлекает текущего пользователя, вошедшего в систему. (из таблицы aspnet_Users, которая создается автоматически). Я использовал внешний ключ для сопоставления моей таблицы (tbl_Users) и aspnet_Users вместе.

в среде отладки или выпуска, если бы вы добавили элемент данных (строку) и отобразили эту информацию, он вернул бы ("TestUser")

myapp.BrowseUsers.displayUsername_postRender = функция (элемент, элемент содержимого) {

msls.promiseOperation(CallGetUserName).then(function PromiseSuccess(PromiseResult) 
    {
       element.innerText = PromiseResult;
    }); };
person Crezzer7    schedule 16.02.2015