Size: a a a

var chat = new Chat();

2020 April 12

YN

Yurii Nskyi in var chat = new Chat();
Dmytro Bardai
То есть, создавать экземпляр пользователя, передавая в конструктор ничего, либо логин и пароль? Или сделать базовый класс пользователя. А потом наследников?
Приложение корпоративное, с неаутентифицированными пользователями не работает.
какой-то бесполезный совершенно пользователь, который состоит только их логина и пароля) но я сделаю его полезным, всё очень просто вот тебе метод логина: public Task<AuthenticatedUser> SignIn(AnonymousUser  anonymousUser);. по хорошему ещё нужно возвращать ошибку, если будет, но то уже детали. Можешь назвать это креденшиалами, можно анонимным пользователем, думаю тут уже больше от тебя зависит
источник

DB

Dmytro Bardai in var chat = new Chat();
Yurii Nskyi
какой-то бесполезный совершенно пользователь, который состоит только их логина и пароля) но я сделаю его полезным, всё очень просто вот тебе метод логина: public Task<AuthenticatedUser> SignIn(AnonymousUser  anonymousUser);. по хорошему ещё нужно возвращать ошибку, если будет, но то уже детали. Можешь назвать это креденшиалами, можно анонимным пользователем, думаю тут уже больше от тебя зависит
Ну я пока по частям делаю. Разберёмся с аутентификацией - добавим роли и прочее.
источник

DB

Dmytro Bardai in var chat = new Chat();
Yurii Nskyi
какой-то бесполезный совершенно пользователь, который состоит только их логина и пароля) но я сделаю его полезным, всё очень просто вот тебе метод логина: public Task<AuthenticatedUser> SignIn(AnonymousUser  anonymousUser);. по хорошему ещё нужно возвращать ошибку, если будет, но то уже детали. Можешь назвать это креденшиалами, можно анонимным пользователем, думаю тут уже больше от тебя зависит
источник

ІД

Іван Данилевич in var chat = new Chat();
Dmytro Bardai
Судя по тексту, ты собираешься удалить сущность, которая ещё не сохранена
я попробував зберегти перед цим.. але результат той самий
источник

DB

Dmytro Bardai in var chat = new Chat();
Іван Данилевич
я попробував зберегти перед цим.. але результат той самий
Явно же пишет, что помечено на удаление...
источник

YN

Yurii Nskyi in var chat = new Chat();
Іван Данилевич
хтось може пояснити у чому проблема?
так а ты указал Id в PublicationCartItem? что-то не видно...
источник

ІД

Іван Данилевич in var chat = new Chat();
Yurii Nskyi
так а ты указал Id в PublicationCartItem? что-то не видно...
встановив
источник

YN

Yurii Nskyi in var chat = new Chat();
Іван Данилевич
встановив
нет, не установил, ругается же совсем на другое свойство
источник

YN

Yurii Nskyi in var chat = new Chat();
Іван Данилевич
встановив
значит маппинг возможно неправильный
источник

ІД

Іван Данилевич in var chat = new Chat();
Yurii Nskyi
нет, не установил, ругается же совсем на другое свойство
оуу.. я справді не встановив ід
источник

N

Name => "Kyryll"; in var chat = new Chat();
Dmytro Bardai
Ну я пока по частям делаю. Разберёмся с аутентификацией - добавим роли и прочее.
Почему просто не использовать IdentityUser. Тьі с таким подходом явно кучу дьір оставишь, пока доделаешь. Лучше возьми опьіт людей, которьіе мембешип систему вместо тебя уже запилили.
источник

DB

Dmytro Bardai in var chat = new Chat();
Name => "Kyryll";
Почему просто не использовать IdentityUser. Тьі с таким подходом явно кучу дьір оставишь, пока доделаешь. Лучше возьми опьіт людей, которьіе мембешип систему вместо тебя уже запилили.
При чём тут IdentityUser?
Мы в целом за архитектуру приложения говорим. Как построить приложение, когда объекты сами работают со своими данными.
Ну или почти сами.
источник

N

Name => "Kyryll"; in var chat = new Chat();
хотябьі глянь как у них сделано, может себе что подхватишь https://github.com/dotnet/aspnetcore/tree/master/src/Identity
источник

N

Name => "Kyryll"; in var chat = new Chat();
Dmytro Bardai
При чём тут IdentityUser?
Мы в целом за архитектуру приложения говорим. Как построить приложение, когда объекты сами работают со своими данными.
Ну или почти сами.
Ок, сори, вьіглядело, как будто пьітаешься сделать с нуля систему авторизации для корпоративного приложения
источник

DB

Dmytro Bardai in var chat = new Chat();
Yurii Nskyi
2. мы можем добавить и роль пользователю, и пользователей в роль, здесь возможны оба варианта, НО для избежания сильной связности стоит правильно формировать связи между сущностями, у тебя пользователь и роль это две отдельные сущности, достаточно в пользователе хранить список айдишников ролей и это всё из ролей что потребуется трекать в пользователе
3. пример с компаниями и департаментами вполне себе валидный, хочешь получить пользователей, добавляй соответствующий метод, или обобщай это всё отдельный класс/интерфейс
2. Тогда мне как-то нужен отдельный сервис для получения ролей. Вот пользователя я аутентифицировал.
Допустим, в ходе аутентификации заполнил коллекцию с айдишниками его ролей.
Но сами роли мне как получить? Если не ActiveRecord, то отдельный сервис?
источник

N

Name => "Kyryll"; in var chat = new Chat();
В пользователе не стоит хранить пароль, луше сразу поменять на хеш.
источник

DB

Dmytro Bardai in var chat = new Chat();
Name => "Kyryll";
В пользователе не стоит хранить пароль, луше сразу поменять на хеш.
Ещё раз. Мы тут рассматриваем гипотетический пример, как строить архитектуру. И в нём много допущений, чтобы не отвлекаться на несущественные детали.
источник

YN

Yurii Nskyi in var chat = new Chat();
Dmytro Bardai
2. Тогда мне как-то нужен отдельный сервис для получения ролей. Вот пользователя я аутентифицировал.
Допустим, в ходе аутентификации заполнил коллекцию с айдишниками его ролей.
Но сами роли мне как получить? Если не ActiveRecord, то отдельный сервис?
у тебя полюбому будет сущность Роль, которую ты будешь получать из базы по айдишнику
источник

YN

Yurii Nskyi in var chat = new Chat();
Dmytro Bardai
2. Тогда мне как-то нужен отдельный сервис для получения ролей. Вот пользователя я аутентифицировал.
Допустим, в ходе аутентификации заполнил коллекцию с айдишниками его ролей.
Но сами роли мне как получить? Если не ActiveRecord, то отдельный сервис?
тут вопрос больше в том, что ты будешт делать с ролями, когда и как
источник

DB

Dmytro Bardai in var chat = new Chat();
Yurii Nskyi
у тебя полюбому будет сущность Роль, которую ты будешь получать из базы по айдишнику
То есть, сервисы для получения данных остаются. А в классах только бизнес логика.
Хорошо.

Вот добавляю я пользователю роли. user.AddRoles(roles)
Внутри метода всякие проверки.
И, в итоге, формирование списка изменений, которые надо применить или откатить, в зависимости от того, успешная или нет транзакция.
источник