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

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

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

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

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


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

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

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

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

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

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


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