Модель, просмотр, контроллер
Пространства имен: System.Web.*, System.Web.mvc, System.Web.mvc.*
URL: база/контроллер/действие/параметры
Конфигурации APP_START, такие как: Пакет, фильтр, маршрутизация
Контроллеры:
Controller/ControllerBase -> ActionResult
Свойства: validateRequest, viewbag, пользователь, сеанс, сервер, запрос, ответ, httpcontext, controlercontext
Методы: проверить, действия
Контроллер для просмотра передачи данных: * viewbag, viewdata, tempdata * экземпляр модели, созданный в ActionResult, передается как параметр view (), в виде @model app.models.person указан, в остальной части страницы мы используем модель.
Просмотры:
*.cshtml, синтаксис бритвы, @ & @ {...}
@Helper, @Model, @Section name {...}
Свойства: HTML, Ajax, Viewbag, ViewContext, Session, пользователь, контекст, запрос, ответ, сервер, кэш, макет
Методы: renderbody (), rendersection (), renderpage (), @styles.render ("bunde url"), @scripts.render ("bunde url")
Htmlattributes в @ @html/ajax helpers - это анонимный объект, например: new {id = "user"}
Атрибуты контроллера и действия : AllowAnonymous, Authorize, Httpget/Delete/Head/Options/Patch/post/put, nonaction, validateAntiforgytoken, маршрут
Действия:
[Httpget/post/put/delete] атрибуты для указания метода
Результаты: перенаправление, частичное, json, javaScript, файл, контент, просмотр, пустое, httpstatuscode
Действия могут возвращать типы, кроме ActionResult, как строка.
Параметры действия прошли как:
Помощники:
HTML:
Методы: действие, Actionlink, Rethelink, начала, конечная форма, антиферингера, отображение, метка, методы, связанные с вводом, методы, связанные с валидацией
Образец формы:
@using (Html.BeginForm("action","controller", FormMethod.Post))
{
@Html.TextBox("tb1")
<button type="submit"/>
}
Ajax:
Методы: Actulink, Rethelink, начало формы
Beginform в Ajax аналогична вариации HTML, с добавлением параметра объекта Ajaxoptions.
Ajaxoptions предоставляет дополнительные параметры, такие как элемент для обновления и функций обратного вызова.
Сессия:
Controller & View Property, полезно для управления сеансом.
Браузер получает cookie cookie sessionid asp.net_sessionid.
Можно получить доступ к индексированному типу, сохраняя полезную информацию сеанса в значении.
Свойства и методы сосредоточены на сеансе и его сборе пар клавиш/значения.
Формы:
Формы могут быть написаны в простом HTML:
<form method="post" action="/Home/NameAge">
<input type="text" name="name" />
<input type="number" name="age" />
<input type="submit"/>
</form>
С методом действия, который будет выглядеть как:
[HttpPost]
public ActionResult NameAge(string name, int age)
{
ViewBag.Name = name;
ViewBag.Age = age;
return View();
}
Пользовательские типы (книга, человек, ...) могут использоваться в качестве параметров действия В этом случае атрибуты входного имени должны соответствовать имени свойства типа.
В случае, если существуют параметры Multiply Dection, атрибут входного имени должен соответствовать формату: parameter.property (person1.name)
Укажите, какие значения входных элементов должны быть приведены к параметру: public actionResult index ([bind (include = "id, name")] человек) {...}
@Html.display/label/editorfor (m => m.age) для привязки данных.
Аннотация данных атрибуты для условий модели.
Проверка на стороне сервера: просмотр: @html.labelfor (m => m.firstname) @html.editorfor (m => m.firstname) @html.validationmessagefor (m => m.firstname) Контроллер: public actesult () => view (); [Httppost] Public ActionResult Index (Person Guy) {if (modelstate.isvalid) {return redirect ("okview"); } return View (Guy); }
Скачать файл:
Загрузка файла:
Httppostedfilebase и его производные типы используются в качестве параметров метода действия, когда мы загружаем файлы с использованием форм.
Просмотр метода html.beginform принимает дополнительный параметр: new {enctype = "multipart/form-data"}
В действии мы называем файл file.saveas (@"path"), чтобы сохранить файл,
Свойство сервера может использоваться для картирования локального по глобальным путям.
Основная структура:
APP_START имеет IdentityConfig.cs & Startup.auth.cs файлы
Новые общие пространства имен: microsoft.aspnet.identity, microsoft.aspnet.identity*, microsoft.owin, microsoft.owin.security, microsoft.owin.security*, system.security.claims
Свойство пользователя в контроллере и представлении может использоваться для получения пользовательских данных. Основными членами являются Identity & Isinrole (название строки).
Request.Isauthenticated в виде проверки, чтобы проверить, аутентифицируется ли пользователь.
У контроллеров есть AccountController, для входа в систему/регистрацию операций.
Модели имеют AccountViewModels & IdentityModels.
Обычно используемые базовые типы: IdentityUser, IdentityDbContext, UserManager, SigninManager
Общие типы:
IdentityUser, IdentityDbContext, UserManager, Signinmanager, iauthenticationManager, типы, обычно используемые в управлении учетными записями. Они могут быть унаследованы и расширены.
IdentityUser содержит информацию об учетной записи пользователя, такую как имя пользователя, хэш пароля электронной почты.
IdentityDbContext - это контекст базы данных EntityFramework, используемый для хранения информации пользователя.
UserManager может создавать, поиск и выполнять другие операции, связанные с пользователем.
Signinmanager может подписать пользователь, в сессии или, если помните, флажок меняется, постоянно проверяется.
IauthenticationManager может выходить из пользователей.
База данных:
Тестовая база данных в папке APP_DATA, *.mdf -файл. Строка подключения находится в web.config, и используется ApplicationDbContext.
База данных состоит из следующих таблиц: пользователи, роли, userclaims, userlogins, userroles.
OAuth2.0 & OpenID Connect:
После получения идентификатора клиента и секрета их необходимо добавить в app_start> startup.auth.cs
В MVC этот тип входа называется «Внешним».
Роли и претензии:
[Authorize] Атрибут используется для разрешения только аутентифицированных пользователей в контроллерах/действиях.
[AllingAnonymous] переопределяет это.
IdentityUsercrail & IdentityUserrole обычно используются.
ApplicationUser/IdentityUser имеет свойства ролей и претензий.
Свойство UserManager может использоваться для управления претензиями/ролями для конкретного пользователя.
IdentityDBContext/ApplicationDBContext имеет роли таблицы.
Rolemanager для ролей, что для пользователей.
[Authorize (users = "...", Roles = "...")] Параметры атрибута могут использоваться для дальнейшего доступа к контроллеру/действию.
Построен на вершине MVC, чтобы обеспечить функциональность, необходимую для разработки услуг RESTFUL.
App_start имеет webapiconfig.cs, которая обрабатывает конфигурацию API и маршрутизацию API, не выполненную Routeconfig.cs
Apicontroller тип унаследована контроллерами приложений.
Baseurl/Help предоставляет сгенерированные документы API.
Обычно используемыми инструментами для тестирования являются почтальон и скрипач.
Действия:
Имена методов действия соответствуют методу HTTP, который используется для доступа к ним.
Получить/post/put/delete api/controller
Типы возврата действий могут быть строковыми, int, ineumerable <t> и т. Д., Или типы, полученные из ihttpactionResult, такие как ok (), notfound (), ...
Атрибут маршрута выше метода действия, может указать пользовательский маршрут для доступа к нему.
[From Body] & [fromuri] можно использовать на параметрах метода действия, чтобы указать их происхождение.
Страница справки (/справка) содержит маршруты API и их описания, касающиеся управления учетной записью. Например, API/Account/Register содержит такую информацию, как используется метод HTTP и параметры.
Регистрация:
/Справка API/Account/Register объясняет, как создать учетную запись. В почтальоне мы можем сделать запрос после этой конечной точки, с необходимыми данными в теле в качестве X-WW-Form-Urlencode или RAW JSON. Если мы получим ответ 200 OK, создается учетная запись
Войдите в систему / Get Token:
Это не задокументировано на странице справки. Мы получаем токен от /токенового маршрута. Разместите запрос с Body X-WWW-FORM-URLENCODED Содержит: GRANT_TYPE: пароль, имя пользователя: электронная почта, пароль: пароль.
Ответ находится в теле, он содержит json, нам нужно значение Access_token для выполнения запросов на защищенные ресурсы.
Получите защищенный ресурс:
Получение ресурсов от действий или контроллеров, которые имеют атрибут [авторизации], требует токена доступа.
Мы делаем запрос получить запрос на API/значения с заголовком авторизации со значением: "Access_token_value"
Внешняя аут / oauth2.0 & oidc: