Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Использование Membership в корпоративном приложении
|
|||
|---|---|---|---|
|
#18+
Не знаю, как реализовать работу с membership в приложение. Не, аутентификацию-то использую, с ролями работаю, пятое десятое. Непонятно другое. Например - пользователь забил в систему товар. В товаре, в поле author хранится ProvideUserKey пользователя. И вот теперь вопросы: 1. Завтра мы удалили пользователя - что отображать в поле author? "Пользователя не существует"? А как же хранение истории? 2. Чтобы можно было упорядочивать список товаров, необходима связывание с MembershipUser. Как это реализовать, если в проекте используется ORM? Генерить POCO классы для Membership? 3. Хранение доп. атрибутов пользователя - телефон, номер карточки и т.д. Где хранитЬ, чтобы можно было фильтровать товары(например) по этим данным? Profile не пойдет, придется заводить новую сущность userData? Может быть, вообще отвязать пользователей приложения, от польователей membership? Сделать как в Sharepoint - есть объект Person, в котором хранится вся информация о пользователе. И к нему привязывается MembershipUser, исключительно для аутентификации. Какие плюсы и минусы у такого решения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 13:47 |
|
||
|
Использование Membership в корпоративном приложении
|
|||
|---|---|---|---|
|
#18+
0. Если корпоративное приложение, зачем нужна forms authentication? Насилуй контроллер домена, это удобно и безопасно. 1. Пользователей удалять нельзя, только блокировать. 2. В случае forms authentication - можешь сделать референс из бизнес таблиц на ProvideUserKey. Не совсем хорошо, но получаем плюшки для автогенерации энтити. В случае windows authentication - создаем отдельную таблицу юзеров из AD (завязка на сиды) и ставим на периодическую синхронизацию. Эту таблицу уже честно референсим из бизнес таблиц без каких-либо проблем. Определить маппинг текущего юзера на табличного - через UserPrincipal.Current.Sid. 3. В случае forms authentication - профиль. Почему он не пойдет? Профиль поддерживает работу со и сложными типами, это ж банальная сериализация. В случае windows authentication - в той самой табличке (ну и многое есть в самом AD). P.S. Для forms authentication можешь глянуть на новомодный SimpleMembership . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 14:03 |
|
||
|
Использование Membership в корпоративном приложении
|
|||
|---|---|---|---|
|
#18+
МСУ0. Если корпоративное приложение, зачем нужна forms authentication? Насилуй контроллер домена, это удобно и безопасно. 1. Пользователей удалять нельзя, только блокировать. 2. В случае forms authentication - можешь сделать референс из бизнес таблиц на ProvideUserKey. Не совсем хорошо, но получаем плюшки для автогенерации энтити. В случае windows authentication - создаем отдельную таблицу юзеров из AD (завязка на сиды) и ставим на периодическую синхронизацию. Эту таблицу уже честно референсим из бизнес таблиц без каких-либо проблем. Определить маппинг текущего юзера на табличного - через UserPrincipal.Current.Sid. 3. В случае forms authentication - профиль. Почему он не пойдет? Профиль поддерживает работу со и сложными типами, это ж банальная сериализация. В случае windows authentication - в той самой табличке (ну и многое есть в самом AD). P.S. Для forms authentication можешь глянуть на новомодный SimpleMembership . 0. Не всегда можно/нужно использовать доменную аутентификацию. 1. Был у нас мендежер Вася Пупкин. Уволился, и пришел к нам его полный тезка - зам. директора Вася Пупкин. Создавать для него новую учетку? 2 и 3. В том-то и дело. Если связать бизнес-таблицы по ProviderUserKey, как осуществлять фильтрации в ORM по атрибутам пользователя? Причем фильтрации на стороне СУБД. Вообще, вся загвоздка в том, чтобы вкрутить Membership в ORM-модель. На direct SQL все эти джойны на юзеров, на роли делаются очень просто, и скорость запросов не страдает. Если же в ORM заводить non-persistent, то сильно просаживается производительность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 14:20 |
|
||
|
Использование Membership в корпоративном приложении
|
|||
|---|---|---|---|
|
#18+
sysaux0. Не всегда можно/нужно использовать доменную аутентификацию. 1. Был у нас мендежер Вася Пупкин. Уволился, и пришел к нам его полный тезка - зам. директора Вася Пупкин. Создавать для него новую учетку? 2 и 3. В том-то и дело. Если связать бизнес-таблицы по ProviderUserKey, как осуществлять фильтрации в ORM по атрибутам пользователя? Причем фильтрации на стороне СУБД. 0. Грошь цена корпоративному (!) приложению, которое не дружит с windows authentication. Напрягать своих пользователей какими-то дополнительными паролями - изуверство и мазохизм. 1. Да. 2-3. Вот так: http://codearticles.ru/home/articleview/469 sysauxВообще, вся загвоздка в том, чтобы вкрутить Membership в ORM-модель. Не вижу никаких проблем это сделать. sysauxНа direct SQL все эти джойны на юзеров, на роли делаются очень просто, и скорость запросов не страдает. Если же в ORM заводить non-persistent, то сильно просаживается производительность. Используй SimpleMembership, сказал же. Или пиши свой профиль провайдер (гуглим "asp.net profile provider custom"). Дефолтная реализация мембершип профиля не предназначена для того, чтобы запросами по ней лупили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 14:30 |
|
||
|
Использование Membership в корпоративном приложении
|
|||
|---|---|---|---|
|
#18+
МСУ1. Да. 2-3. Вот так: http://codearticles.ru/home/articleview/469 1. Кривовато, как по мне. Пользователь с логином vpupkin2, "потому что у нас уже был такой". 2-3. То бишь писать sql-запросы? С Linq прощаемся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 14:38 |
|
||
|
Использование Membership в корпоративном приложении
|
|||
|---|---|---|---|
|
#18+
sysaux1. Кривовато, как по мне. Пользователь с логином vpupkin2, "потому что у нас уже был такой". 2-3. То бишь писать sql-запросы? С Linq прощаемся? 1. Не "кривовато", а единственно верно и правильно. Как ты себе представляешь ситуацию, если придет новый сотрудник и сисадмин выдаст ему "старую" учетку его тезки? Мне даже стрёмно читать твой бред, которой ты пишешь. 2-3. Linq2SQL перестал работать в SQL функциями? Уважаемый, подучи матчасть. P.S. Я тебе предложил 3 варианта: написать свой провайдер, заюзать симпл, заюзать SQL функции. Мало? Тогда держи четвертый вариант на SQLCLR: http://codearticles.ru/home/articleview/468 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 14:44 |
|
||
|
Использование Membership в корпоративном приложении
|
|||
|---|---|---|---|
|
#18+
МСУ1. Не "кривовато", а единственно верно и правильно. Как ты себе представляешь ситуацию, если придет новый сотрудник и сисадмин выдаст ему "старую" учетку его тезки? Мне даже стрёмно читать твой бред, которой ты пишешь. 2-3. Linq2SQL перестал работать в SQL функциями? Уважаемый, подучи матчасть. 1. Я и предполагаю вариант решения: авторМожет быть, вообще отвязать пользователей приложения, от польователей membership? Сделать как в Sharepoint - есть объект Person, в котором хранится вся информация о пользователе. И к нему привязывается MembershipUser, исключительно для аутентификации 2-3. С LinqToSQL не работал. А оно поддерживает MySQL, Postgre, Oracle? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 14:48 |
|
||
|
Использование Membership в корпоративном приложении
|
|||
|---|---|---|---|
|
#18+
sysauxvpupkin2 Всё зависит от фантазии администратора. Если он полный шизофреник, то он напишет vpupkin2. Если он хоть мало-мальски адекватен, он напишет что-нибудь вроде vapupkin (a - первая буква отчества). Фантазии нет предела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 14:48 |
|
||
|
Использование Membership в корпоративном приложении
|
|||
|---|---|---|---|
|
#18+
sysaux1. Я и предполагаю вариант решения Ты читаешь чем, задом или ногами? МСУполучаем плюшки для автогенерации энтити Если тебе это не интересно и ты не в курсе, что такое ORM - можешь хоть запросами через SqlCommand собирать из разных таблиц. sysaux2-3. С LinqToSQL не работал. А чего тогда про "Linq" речь завёл? sysauxА оно поддерживает MySQL, Postgre, Oracle? Оно - это что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 14:51 |
|
||
|
Использование Membership в корпоративном приложении
|
|||
|---|---|---|---|
|
#18+
МСУА чего тогда про "Linq" речь завёл? Оно - это что? Я пишу linq запросы к orm-объектам. Чем отличается LinqToSQL, можно ли в обычном linq использовать sql-функции, работает ли LinqToSQL с СУБД, отличными от MS SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 15:00 |
|
||
|
Использование Membership в корпоративном приложении
|
|||
|---|---|---|---|
|
#18+
МСУполучаем плюшки для автогенерации энтити Можно поподробней? Какие "плюшки для автогенерации энтити" мы получим, добавив в бизнес-классы поле ProviderUserKey? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 15:01 |
|
||
|
Использование Membership в корпоративном приложении
|
|||
|---|---|---|---|
|
#18+
sysauxЯ пишу linq запросы к orm-объектам. Бывают запросы IEnumerable и IQueryable. Разницу рассказать или сам букварь откроешь? sysauxможно ли в обычном linq использовать sql-функции Обычный linq - это какой? Если речь о трансляции в SQL, то конечно. Если речь о клиенских операциях, то всегда можно обратитсья к функции на сервер, снять результат и уже оруливать linq запросами на клиенте. sysauxработает ли LinqToSQL с СУБД, отличными от MS SQL? Нет. Для этого есть альтернативные ORM, такие как EF и NH. sysauxМСУполучаем плюшки для автогенерации энтити Можно поподробней? Какие "плюшки для автогенерации энтити" мы получим, добавив в бизнес-классы поле ProviderUserKey? Поподробней тебе поможет букварь по ORM. Начни отсюда: http://msdn.microsoft.com/en-us/data/ef.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2013, 15:10 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38181424&tid=1358681]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
7ms |
get forum data: |
4ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 372ms |

| 0 / 0 |
