Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过ADFS认证的用户';s UPN到用于连接的SQL字符串_C#_Sql Server_Model View Controller - Fatal编程技术网

C# 通过ADFS认证的用户';s UPN到用于连接的SQL字符串

C# 通过ADFS认证的用户';s UPN到用于连接的SQL字符串,c#,sql-server,model-view-controller,C#,Sql Server,Model View Controller,我试图根据登录用户的UPN从MS SQL数据库中提取信息。我想这对一些人来说似乎有些微不足道 在控制器中,我获取用户的UPN: var identity = (ClaimsIdentity)User.Identity; loggedInUser.UserHandle = identity.Claims.Where(c => c.Type == ClaimTypes.Upn).First().Value; //get userHandle from UPN int index = logge

我试图根据登录用户的UPN从MS SQL数据库中提取信息。我想这对一些人来说似乎有些微不足道

在控制器中,我获取用户的UPN:

var identity = (ClaimsIdentity)User.Identity;
loggedInUser.UserHandle = identity.Claims.Where(c => c.Type == ClaimTypes.Upn).First().Value;
//get userHandle from UPN
int index = loggedInUser.UserHandle.LastIndexOf("@");
        if (index > 0)
            loggedInUser.UserHandle = loggedInUser.UserHandle.Substring(0, index);
以下是我试图获取的数据:

String sql = "Select * from [MyDatabase].[dbo].[TableName] where UserHandle = @userHandle";
using (SqlConnection conn = new SqlConnection(connectionString))
        {
            SqlCommand cmd = new SqlCommand(sql, conn);
            cmd.Parameters.Add(new SqlParameter("userHandle", loggedInUser.UserHandle));

            conn.Open();
            SqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                user.FirstName = reader["FirstName"].ToString();
                user.LastName = reader["LastName"].ToString();
            }
            conn.Close();
        }
 return View(loggedInUser);
我可以使用@Model.UserHandle在视图中看到正确的UserHandle。但它在Controller中返回null,因此我无法从表中获取firstName和LastName


我做错了什么?如何获取要在sql字符串中使用的UPN值,以便从表中获取数据?

将此保留在此处以防万一

我需要通过'user'而不是'loggedInUser':

return View(user);

我会把这个留在这里以防万一

我需要通过'user'而不是'loggedInUser':

return View(user);