Я довольно новичок в. NET MVC. Мне удалось успешно установить новое приложение ASP. NET MVC и подключить его к Azure Active Directory. Теперь я могу успешно войти с моей рабочей учетной записью. Это действие также автоматически создает UserProfileController
и просмотр, а также DbContext
, который я изменил на свою собственную базу данных Azure SQL. Моя база данных Azure SQL теперь имеет dbo.UserTokenCaches
, в которой хранится история входа.
Теперь, когда я захожу и go в / UserProfile, я вижу все свои данные. Как отображаемое имя, имя и фамилия и т. Д. c. Это конечно взято из Azure нашей эры.
Требование, которое у меня есть, заключается в том, что при успешном входе в систему мне нужно запустить хранимую процедуру со свойством Mail и Displayname от Microsoft. Azure .ActiveDirectory.GraphClient в качестве входного параметра.
Я настроил следующий скрипт для запуска хранимой процедуры, и он работает
string cnnString = System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
SqlConnection cnn = new SqlConnection(cnnString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "addUsers";
// add any parameters the stored procedure might require
cmd.Parameters.Add(new SqlParameter("@Email", "test"));
cmd.Parameters.Add(new SqlParameter("@DisplayName", "test"));
cnn.Open();
object o = cmd.ExecuteScalar();
cnn.Close();
Очевидно, мне нужно заменить входные параметры "test" соответствующими Microsoft. Azure Значения графа .ActiveDirectory.GraphClient для Email и DisplayName. Я вызываю эту хранимую процедуру в AccountController после блока if (Request.IsAuthenticated)
.
Представление UserProfile выглядит следующим образом и работает правильно.
@using Microsoft.Azure.ActiveDirectory.GraphClient
@model User
@{
ViewBag.Title = "User Profile";
}
<h2>@ViewBag.Title.</h2>
<table class="table table-bordered table-striped">
<tr>
<td>Display Name</td>
<td>@Model.DisplayName</td>
</tr>
<tr>
<td>First Name</td>
<td>@Model.GivenName</td>
</tr>
<tr>
<td>Last Name</td>
<td>@Model.Surname</td>
</tr>
<tr>
<td>E-mail</td>
<td>@Model.Mail</td>
</tr>
</table>
Может ли кто-нибудь помочь мне получить правильные параметры для моей хранимой процедуры?
Заранее спасибо!