Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Использование Membership в корпоративном приложении / 13 сообщений из 13, страница 1 из 1
12.03.2013, 13:47
    #38181233
sysaux
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
Не знаю, как реализовать работу с membership в приложение. Не, аутентификацию-то использую, с ролями работаю, пятое десятое.

Непонятно другое. Например - пользователь забил в систему товар. В товаре, в поле author хранится ProvideUserKey пользователя. И вот теперь вопросы:
1. Завтра мы удалили пользователя - что отображать в поле author? "Пользователя не существует"? А как же хранение истории?
2. Чтобы можно было упорядочивать список товаров, необходима связывание с MembershipUser. Как это реализовать, если в проекте используется ORM? Генерить POCO классы для Membership?
3. Хранение доп. атрибутов пользователя - телефон, номер карточки и т.д. Где хранитЬ, чтобы можно было фильтровать товары(например) по этим данным? Profile не пойдет, придется заводить новую сущность userData?

Может быть, вообще отвязать пользователей приложения, от польователей membership? Сделать как в Sharepoint - есть объект Person, в котором хранится вся информация о пользователе. И к нему привязывается MembershipUser, исключительно для аутентификации. Какие плюсы и минусы у такого решения?
...
Рейтинг: 0 / 0
12.03.2013, 14:03
    #38181279
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
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 / 0
12.03.2013, 14:20
    #38181322
sysaux
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
МСУ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, то сильно просаживается производительность.
...
Рейтинг: 0 / 0
12.03.2013, 14:30
    #38181346
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
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"). Дефолтная реализация мембершип профиля не предназначена для того, чтобы запросами по ней лупили.
...
Рейтинг: 0 / 0
12.03.2013, 14:38
    #38181364
sysaux
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
МСУ1. Да.
2-3. Вот так: http://codearticles.ru/home/articleview/469

1. Кривовато, как по мне. Пользователь с логином vpupkin2, "потому что у нас уже был такой".
2-3. То бишь писать sql-запросы? С Linq прощаемся?
...
Рейтинг: 0 / 0
12.03.2013, 14:44
    #38181376
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
sysaux1. Кривовато, как по мне. Пользователь с логином vpupkin2, "потому что у нас уже был такой".
2-3. То бишь писать sql-запросы? С Linq прощаемся?
1. Не "кривовато", а единственно верно и правильно. Как ты себе представляешь ситуацию, если придет новый сотрудник и сисадмин выдаст ему "старую" учетку его тезки? Мне даже стрёмно читать твой бред, которой ты пишешь.
2-3. Linq2SQL перестал работать в SQL функциями? Уважаемый, подучи матчасть.

P.S. Я тебе предложил 3 варианта: написать свой провайдер, заюзать симпл, заюзать SQL функции. Мало? Тогда держи четвертый вариант на SQLCLR: http://codearticles.ru/home/articleview/468
...
Рейтинг: 0 / 0
12.03.2013, 14:48
    #38181388
sysaux
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
МСУ1. Не "кривовато", а единственно верно и правильно. Как ты себе представляешь ситуацию, если придет новый сотрудник и сисадмин выдаст ему "старую" учетку его тезки? Мне даже стрёмно читать твой бред, которой ты пишешь.
2-3. Linq2SQL перестал работать в SQL функциями? Уважаемый, подучи матчасть.


1. Я и предполагаю вариант решения:
авторМожет быть, вообще отвязать пользователей приложения, от польователей membership? Сделать как в Sharepoint - есть объект Person, в котором хранится вся информация о пользователе. И к нему привязывается MembershipUser, исключительно для аутентификации
2-3. С LinqToSQL не работал. А оно поддерживает MySQL, Postgre, Oracle?
...
Рейтинг: 0 / 0
12.03.2013, 14:48
    #38181391
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
sysauxvpupkin2
Всё зависит от фантазии администратора. Если он полный шизофреник, то он напишет vpupkin2. Если он хоть мало-мальски адекватен, он напишет что-нибудь вроде vapupkin (a - первая буква отчества). Фантазии нет предела.
...
Рейтинг: 0 / 0
12.03.2013, 14:51
    #38181399
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
sysaux1. Я и предполагаю вариант решения
Ты читаешь чем, задом или ногами?

МСУполучаем плюшки для автогенерации энтити

Если тебе это не интересно и ты не в курсе, что такое ORM - можешь хоть запросами через SqlCommand собирать из разных таблиц.

sysaux2-3. С LinqToSQL не работал.
А чего тогда про "Linq" речь завёл?

sysauxА оно поддерживает MySQL, Postgre, Oracle?
Оно - это что?
...
Рейтинг: 0 / 0
12.03.2013, 15:00
    #38181422
sysaux
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
МСУА чего тогда про "Linq" речь завёл?
Оно - это что?
Я пишу linq запросы к orm-объектам. Чем отличается LinqToSQL, можно ли в обычном linq использовать sql-функции, работает ли LinqToSQL с СУБД, отличными от MS SQL?
...
Рейтинг: 0 / 0
12.03.2013, 15:01
    #38181424
sysaux
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
МСУполучаем плюшки для автогенерации энтити
Можно поподробней? Какие "плюшки для автогенерации энтити" мы получим, добавив в бизнес-классы поле ProviderUserKey?
...
Рейтинг: 0 / 0
12.03.2013, 15:10
    #38181446
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
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
...
Рейтинг: 0 / 0
12.03.2013, 15:34
    #38181504
sysaux
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование Membership в корпоративном приложении
МСУ,

Спасибо за ответы, пойду читать доки)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Использование Membership в корпоративном приложении / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]