2016-09-28 5 views
0

Я хочу показать отчет в GridView в приложении C#. Где пользователи, которые вошли в систему, могут видеть данные/получать доступ к данным на основе своего идентификатора.C#: как показать зарегистрированные данные пользователя

private void generateButton_Click(object sender, EventArgs e) 
     { 
    SqlConnection connection = new SqlConnection(@"Data Source=INCEPSYS-SE\TEST;Initial Catalog=Employee;Integrated Security=True"); 
       connection.Open(); 
      SqlDataAdapter dataAdapter = new SqlDataAdapter("SELECT Employees.Name, Phones.Receive FROM Phones JOIN Employees 
     where Date ='" +reportDatePicker.Value.Date + "' ON Employees.EmployeeID=Phones.EmployeeID " , connection); 
        DataTable dataTable = new DataTable(); 
        dataAdapter.Fill(dataTable); 
        reportGridView.DataSource = dataTable; 
        reportGridView.AutoGenerateColumns = false; 
     } 

Как сделать аутентификацию следующим кодом?

+0

В чем заключен этот вопрос? Вы запрашиваете данные пользователя, но отправляете запрос «Сотрудник», который открыт для SQL-инъекции. Как это связано с аутентификацией? –

+0

Согласен, вопрос и код, о котором идет речь, различны. – Sak

+0

Я хотел спросить в нем вообще. Я работаю в базе данных Employee. Но основное внимание в вопросе аутентификации, где только разрешает только пользователю, может видеть данные. Это все. надеюсь, что вы, ребята, понимаете ... Спасибо! – Hola

ответ

0
using System.DirectoryServices.AccountManagement; 
using System.Web.Hosting; 

    using (HostingEnvironment.Impersonate()) 
    { 
       PrincipalContext ctx = new PrincipalContext(ContextType.Domain); 
       user = UserPrincipal.FindByIdentity(ctx, txtUser.Text.Trim()); 
    } 

Здесь user.EmployeeID даст вам идентификатор. Используйте это, чтобы отфильтровать ваш запрос в gridview. Надеюсь, это то, что вы хотели.