Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Подскажите, как правильно организовать аутентификацию на формах? Без использования Вижуал Студио. Какие шаги нужно сделать? И в коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 15:18 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Поторопился, в вопросе не было про MVC ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 15:31 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Мембершип, в топку формы и мембершип! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 17:30 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
hVostt, Просвети, поиз, по новым трендам, мне сейчас как раз авторизацию делать, а во всех моих учебниках - мембершип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 19:24 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.ProПросвети, поиз, по новым трендам, мне сейчас как раз авторизацию делать, а во всех моих учебниках - мембершип. ASP.NET Identity Overview примеры кода можно получить так: 1. Создать проект MVC 5 2. Обновить все пакеты Update-Package 3. Перезапустить проект (закрыть студию и открыть заново) 4. Установить пакет Microsoft.AspNet.Identity.Samples вот так: Код: c# 1. изучайте. самое примечательное, что Microsoft AspNet Identity не зависит от IIS и от тонны ASP.NET кода, отлично взаимодействует с OWIN и WebAPI. напрямую работает с EF (да вообще с чем угодно), в отличие от устаревших техник, которые работают с базой данных только напрямую. и не слушайте тех, кто говорит что SimpleMembership вещь годная. вовсе нет, это уродец. всё дело в банальной привычке и нежелании что-то там изучать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 15:08 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
благодарю - поизучаю как понимаю, в MVC 4 это не работает, надо проапгрейдить проект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 15:23 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
А для старичков , сидящих на вебформах 2.0 есть какой-нибудь годный туториал? Просто все что я находил в сети ориентировано на создание инфраструктуры мембершипа из студии, а как без этого тула быть, как руками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 16:50 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
hVostt, Вот только сейчас добрался, поставил пример и офигел, увидев этот многоэтажный огород. Нет, ну я конечно, за неделю могу досконально разобраться, как это все работает и взаимодействует друг с другом. Только вот нафиг мне не требуется вся эта система управления пользователями, ролями, их EF структура управления хранением пользователей/ролей, вся эта двухступенчатая регистрация, счетчики неправильного ввода паролей и страницы блокированных пользователей и чего там еще есть. У меня пользователи сами не регистрируются, их создает админ. Система наборов прав и совокупностей прав как ролей - тоже своя, хранение и управление пользователями - тоже, проверку логина/пароля я могу обеспечить своей реализацией. То есть, по большому счету мне нужно от системы аутентификации очень немного, то есть: 1) Обеспечение входа-выхода пользователя с точки зрения его браузера/текущей сессии (как в пределах сессии, так и с функцией "запомнить меня" между сессиями) 2) Знание в контексте контроллера текущего пользователя (либо ID, либо экземпляра моего класса пользователя) Я буду очень признателен тебе, если ты дашь примерный список классов и методов, достаточных для решения только указанных задач. Это сэкономит мне массу времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 19:00 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.ProВот только сейчас добрался, поставил пример и офигел, увидев этот многоэтажный огород. лишнее просто надо выкинуть и всё. вот очень простой туториал, как добавить новую аутентификацию в веб формы. http://www.asp.net/identity/overview/getting-started/adding-aspnet-identity-to-an-empty-or-existing-web-forms-project если роли не нужны, просто не пользуйся ими, не нужны функции регистрации, смены пароля и т.д. и т.п., тоже самое, просто не используй их. в целом ASP.NET Identity Не зависит от базы данных и EF, т.е. можно не использовать EF, но тогда придётся реализовать интерфейсы IUserStore и другие, которые требуются по задаче. лучше разобраться самостоятельно, глубоко вникать не надо, основное в туториале, остальное можно по ходу дела раздуплить. желательно использовать именно ASP.NET Identity, так как на сегодняшний день это активно продвигаемый и развиваемый подход. да, возможно завтра они придумают что-то другое, но это уже философия, которую даже не интересно слушать. можно использовать SimpleMembershipProvider, но он по умолчанию хочет запихать свои данные в базу данных самостоятельно, что чаще всего не айс. можно использовать старую модель провайдеров мембершипа, по этому делу материала в сети более чем достаточно. можно ничего из предложенного не исопльзовать, и реализовать полностью свой механизм со своим блекджеком и ко. в общем рекомендую ASP.NET Identity, который на мой взгляд менее избыточен и независим, чем другие, и в целом удачен. если используется EF, то для EF есть готовые адаптеры, ничего писать практически не надо, только скопировать и подкорректировать код инициализации. куда уж проще то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2014, 01:34 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, ещё вот тут добрый дядька МСУ, да вон тот, который машет своей пятернёй из бани, накидал кучу полезного материала по теме: http://codearticles.ru/catalogs/501 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2014, 01:38 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.Proпримерный список классов и методов, достаточных для решения только указанных задач Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2014, 10:23 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Если не использовать EF, а также для понимания внутренней кухни Identity рекомендую тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2014, 11:47 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Последовательность шагов, которая у меня получилась, чтобы прикрутить к проекту MVC4 аутентификацию (не авторизацию) Identity в минимальном варианте (заодно в своей голове все уложу): 1) Проапгрейдиться до MVC5/WebAPI2 (полезная информация тут , тут ) 2) Установить пакеты: Identity Core Identity Owin Owin Host SystemWeb 3) Реализовать интерфейс Microsoft.AspNet.Identity.IUser (для примера пусть будет MYUser) Собственно - там минимальный набор полей - Id и Name, то бишь смело можно прикручивать к любому своему классу пользователя 4) Реализовать интерфейс Microsoft.AspNet.Identity.IUserStore<MYUser> (для примера пусть будет MYUserStore). Это класс для организации работы с хранилищем пользователей, интерфейс представляет собой простой CRUD-набор методов. 5) Создать startup-класс. Различные варианты его размещения и обнаружения описаны тут . Ориентировочное содержимое: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 6) выпилить из web.config winforms-аутентификацию 7) При логине пользователя используется (очень упрощенно) следующая схема Код: c# 1. 2. 3. 4. 5. 6. 7. Также при необходимости в этот ClaimIdentity можно напихать других Claim-ов (мне это пока не нужно, глубоко не рылся, можно почитать тут , тут ). SignIn устанавливает пользователю куку, которая и хранит все эти Claim-ы. Соответственно, разлогинить пользователя - SignOut. Также в контроллере можно использовать атрибут [Authorize] обычным образом 8) При работе авторизованный пользователь представлен объектом ClaimIdentity, через который можно получить его claim-ы, Можно получить ID и Name методами GetUserName и GetUserId. В представлении объект доступен через @User.Identity (но надо добавить пространство имен Microsoft.AspNet.Identity в представление или в web.config). Соответственно, в контроллере - HttpContext.User.Identity ===================================================================== собственно, вот. Поправьте плиз, если я что-то неправильно понял. Также у меня остались следующие вопросы: а) при доступе авторизованного пользователя мне доступен его ID, дальше я могу сам создать экземпляр класса пользователя. Или все-таки он уже где-то создан? б) связанный вопрос - в вышеописанном примере мне вообще не требовалось реализовывать CRUD-методы для хранилища, если я использую создание экземпляра класса пользователя другими способами. Однако "пустую" реализацию создать все равно пришлось, чтобы иметь возможность создать экземпляр UserManager. В какой момент эта реализация все таки потребуется? Если я решу использовать штатное управление пользователями? в) как я понимаю, авторизация завязана на куки? Как сейчас принято поступать, если пользователь куки не поддерживает или отключил? просто отказываются работать (попробовал пару веб-приложений - они меня послали при отключенных куках) г) в примерах, которые я смотрел, экземпляр AuthenticationManager-а не получают каждый раз, а хранят в статической переменной в пределах контроллера. Это нормальная практика, ничем не грозит? А почему для каждого контроллера, почему тогда уж не на уровне приложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2014, 16:41 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.Proа) при доступе авторизованного пользователя мне доступен его ID, дальше я могу сам создать экземпляр класса пользователя. Или все-таки он уже где-то создан? нет, его надо доставать из базы по Id или по Name Shocker.ProВ какой момент эта реализация все таки потребуется? Если я решу использовать штатное управление пользователями? да. создание пользователя лучше делать через UserManager. для работы с пользователями: получать коллекцию, фильтровать и т.д. использовать UM не обязательно. Shocker.Proв) как я понимаю, авторизация завязана на куки? Как сейчас принято поступать, если пользователь куки не поддерживает или отключил? просто отказываются работать (попробовал пару веб-приложений - они меня послали при отключенных куках) токен придётся сохранять постоянно в адресной строке. но вообще ситуация с отключением куков примерно такая же как и с отключением javascript -- интернет становится практически неюзабельным. мало кого заботят параноидальные индивидуумы. Shocker.Proг) в примерах, которые я смотрел, экземпляр AuthenticationManager-а не получают каждый раз, а хранят в статической переменной в пределах контроллера. Это нормальная практика, ничем не грозит? А почему для каждого контроллера, почему тогда уж не на уровне приложения? смысла его хранить нет. правильно получать через OwinContext как в вашем примере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2014, 20:49 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
hVosttда. создание пользователя лучше делать через UserManager.почему? Что такого он дополнительно делает при создании? И еще, вдруг до меня дошло. На уровне модели у меня нет ни контекста контроллера, ни сессии и т.п. То есть единственный способ иметь текущего пользователя в модели (а это нужно в 99,5% случаев) - передавать его через все конструкторы модели? Или есть какая-нибудь менее напряжная метода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2014, 15:53 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.Proпочему? Что такого он дополнительно делает при создании? пароль хеширует, например. выдаёт токен для подтверждения... это же блэкбокс. Shocker.ProИ еще, вдруг до меня дошло. На уровне модели у меня нет ни контекста контроллера, ни сессии и т.п. То есть единственный способ иметь текущего пользователя в модели (а это нужно в 99,5% случаев) - передавать его через все конструкторы модели? Или есть какая-нибудь менее напряжная метода? можно через IPrincipal получить Id пользователя и при необходимости вытащить из базы на уровне модели, без участия контроллера или сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2014, 16:13 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
hVosttможно через IPrincipal получить Id пользователяб-р-р, почитал-не понял, как это можно сделать на уровне модели, не имея контекста... экземпляр модели ведь вообще существует сам по себе. Поясни, плиз, бестолковому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2014, 16:32 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.Proб-р-р, почитал-не понял, как это можно сделать на уровне модели, не имея контекста... экземпляр модели ведь вообще существует сам по себе. Поясни, плиз, бестолковому. получить Id пользователя: Код: c# 1. 2. 3. 4. 5. 6. 7. участия контроллера, сессии или чего-то ещё не требуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2014, 16:48 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
А, спасибо!!! Я-то понимал, что единственная ниточка, связывающая модель и контекст - это поток, не не думал, что настолько напрямую можно получить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2014, 16:57 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.ProА, спасибо!!! Я-то понимал, что единственная ниточка, связывающая модель и контекст - это поток, не не думал, что настолько напрямую можно получить но вообще, желательно получать IPrincipal через свой интерфейс, чтобы можно было тестировать, например, используя DI контейнер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2014, 17:20 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Я думаю, что сделаю свой метод расширения для Thread ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2014, 17:31 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Гм, получается такая шняга. Через тред я могу получить ид/имя пользователя, а мне постоянно нужен для работы экземпляр класса пользователя. Создание экземпляра = обращение к базе, поэтому хотелось бы создавать его не более одного раза за реквест. Попробовал создать тред-статик поле для экземпляра класса пользователя, но этот тред в пуле и может предоставляться другим реквестам. Подкиньте гениальную идею, как бы мне иметь легкий и безопасный доступ к экземпляру класса пользователя (созданному в начале этого реквеста) из любого места в пределах исполнения реквеста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2014, 14:33 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Все уже придумано за нас, используйте Dependency Injection, рекомендую Autofac, он гарантирует жизнь экземпляра в пределах реквеста, а получать вы можете его в любом месте, не заботясь о том кто и как его создал. Опять же, для тестирования хорошо. Суть такая, делаете некий сервис, допустим IUserService со свойством, например, CurrentUser. Реализация сервиса получает через конструктор IPrincipal и UserManager. Теперь, везде где требуется экземпляр юзера вы втыкаете в конструктор IUserService. Экземпляр сервиса на весь реквест будет один, соответственно экземпляр пользователя можно вытаскивать один раз из менеджера по запросу. Инъекция работает на всех топ уровнях, включая фильтры, контроллеры, вьюхи и далее вглубь вашей модели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2014, 15:43 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Конечно, чтобы это работало, надо внедрить DI контейнер в ваш проект, зарегистрировать все зависимости по месту или в модулях. На сайте Autofac примеров достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2014, 15:46 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Чтобы не задавать глупых вопросов, отвлекся на пару недель на погружение в вопрос внедрения зависимостей (заодно решились и некоторые другие вопросы, для которых я уж было попытался сделать велосипед). Изучал по Марку Симану "Внедрение зависимостей в .NET", как я понимаю, это одна из наиболее серьезных работ на эту тему. Итого для Autofac: 1) установить в проект autofac и autofac.integration.mvc 2) настроить следующим образом (при запуске проекта): Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. все. дальше можно создавать контроллерам собственные конструкторы с внешними зависимостями hVosttНа сайте Autofac примеров достаточно.абсолютный вакуум в нужном разделе http://autofac.readthedocs.org/en/latest/integration/mvc.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2014, 17:46 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
посмотри тут: http://habrahabr.ru/post/136895/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2014, 17:53 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Konst_Oneпосмотри тут: http://habrahabr.ru/post/136895/ ну на него я и ориентировался, не, я-то разобрался пока, это просто к слову про документацию )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2014, 18:03 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
ну тяжело присать документацию, это всегда так =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2014, 18:04 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
писать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2014, 18:04 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.Proабсолютный вакуум в нужном разделе http://autofac.readthedocs.org/en/latest/integration/mvc.html это какой-то левый сайт. вот же она, родная: https://github.com/autofac/Autofac/wiki/Mvc-Integration ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2014, 10:23 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
hVosttэто какой-то левый сайт.какой же левый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2014, 10:27 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
hVostt, плиз, помоги добить тему , не стал спамить в этой ветке, поскольку вопросы достаточно общие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2014, 11:32 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.ProhVostt, плиз, помоги добить тему , не стал спамить в этой ветке, поскольку вопросы достаточно общие. ответил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2014, 11:44 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Кто-нить знает как масштабирование в IE отрубить через html/css? Обновил какашку до 11-ой версии, она теперь автоматом все страницы масштабировать начала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2014, 14:13 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
st_stКто-нить знает как масштабирование в IE отрубить через html/css? Обновил какашку до 11-ой версии, она теперь автоматом все страницы масштабировать начала. Погуглил и в итоге бида/пичаль, этот баг так просто не лечится. Вроде реестр можно пропатчить или в файле monitor.inf чё-то поменять, короче уныло. Баг почти год уже висит . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2014, 15:04 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
st_stПогуглил и в итоге бида/пичаль, этот баг так просто не лечится. Вроде реестр можно пропатчить или в файле monitor.inf чё-то поменять, короче уныло. Баг почти год уже висит . Quick and Easy Workaround: CTRL+Mouse Scrolling Button. This doesn't reset the default to 100% but it's quick. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2014, 15:45 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
and... Use an alternative browser such as Google Chrome or Mozilla Firefox. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2014, 15:45 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Тестить всё равно в эксплорере надо, поэтому я по первому варианту пока - CTRL+Mouse Scrolling Button. Нет чтоб фичи новые внедрять, сидят баги лепят, у них там специальный отдел наверное - по созданию багов в эксплорере, работает с конца 90-ых Надоели условные комментарии, хочу эту штуку . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2014, 16:19 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
st_st, да пора уже заменить CSS на LESS и дело с концом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2014, 16:50 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro Код: c# 1. все. дальше можно создавать контроллерам собственные конструкторы с внешними зависимостями Вообще, что получается. Я ведь могу в конце-концов получить зарегистрированную зависимость в любом месте ASP.NET-приложения через Код: c# 1. не заботясь о передаче зависимостей через конструкторы и последующее их локальное сохранение. Или тут есть подводные камни? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2014, 23:18 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.ProИли тут есть подводные камни? Зависимость от DependencyResolver. Не то, чтобы это было сильно критично в процессе разработки, и на вид удобно. Но это мелкая паскудная грабля, на которую я один раз имел волшебное, не передаваемое словами удовольствие наступить. DependencyResolver может быть полезен для использования в разработке инфрастуктурного кода (в который сложно или невозможно впихнуть инъекцию), отделённого от логики (допустим, модули там, обработчики), и ещё полезен для прототипирования (временно, значит). В общем, DependencyResolver это Service Locator, антипаттерн тобишь. И не зря. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2014, 00:20 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Ясно. Собственно, появилась необходимость получить зависимость в базовом (абстрактном) классе контроллера - то есть я не могу внедрить ее через конструктор. То есть получается либо внедрить через свойство, либо получить из DependencyResolver-а ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2014, 00:28 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, через свойство конечно. в фильтры также внедряется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2014, 15:45 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, вот, например, где без DependencyResolver не обойтись, это в обработчиках событий HttpApplication, там нет инъекции и приходится дёргать DR. правда это возможно только в тех событиях, где доступен HttpContext.Current, иначе будет падать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2014, 15:47 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Немножко возвращаясь к аутентификации. Если пользователь не выбирает режим "запомнить меня", Indentity позволяет в следующей сессии достать логин, который был в предыдущей сессии? Или самому возиться с куками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 23:11 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.ProНемножко возвращаясь к аутентификации. Если пользователь не выбирает режим "запомнить меня", Indentity позволяет в следующей сессии достать логин, который был в предыдущей сессии? Или самому возиться с куками? как можно достать из сессии логин, если кука сессионная? сессионная кука удаляется если закрыть браузер/вкладку. неоткуда доставать логин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2014, 11:11 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
hVosttShocker.ProНемножко возвращаясь к аутентификации. Если пользователь не выбирает режим "запомнить меня", Indentity позволяет в следующей сессии достать логин, который был в предыдущей сессии? Или самому возиться с куками? как можно достать из сессии логин, если кука сессионная? сессионная кука удаляется если закрыть браузер/вкладку. неоткуда доставать логин.Не. Я имею ввиду, помимо сессионной куки. Некоторые сайты при входе предлагают по умолчанию логин, под которым пользователь заходил последний раз, вот я и хочу узнать, имеет ли такой встроенный функционал или писать его самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2014, 22:45 |
|
||
|
Аутентификация шаг за шагом
|
|||
|---|---|---|---|
|
#18+
Shocker.ProНе. Я имею ввиду, помимо сессионной куки. Некоторые сайты при входе предлагают по умолчанию логин, под которым пользователь заходил последний раз, вот я и хочу узнать, имеет ли такой встроенный функционал или писать его самому. я думаю функций браузера по сохранению ранее введённого текста в поле логина достаточно. незачем воротить лишнего, от этого только хуже. тем более многие уже начинают привыкать входить с помощью социальных сервисов (я всегда вхожу через социалку, если есть такая возможность). вот для примера. некоторые экземпляры анатомических экспериментов на мозге делают такое кастомное поле для ввода номера кредитной карты, типа с проверкой ввода (только цифры) и автоматическим разделением по группам, да так что невозможно вставить из буфера обмена, или вообще делают по инпуту на каждую группу цифр. деликатно это можно назвать "перестарались", а не деликатно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2014, 00:19 |
|
||
|
|

start [/forum/topic.php?all=1&fid=18&tid=1357054]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 352ms |

| 0 / 0 |
