|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Хотелось бы сделать так: если вызывается страница с незалогиненным юзером - сделать редирект на Login.cshtml, например, заходит сюда, проверяем, и как сделать редирект там, где анонимус? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 12:16 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Причем тут cshtml? Это делается либо в контроллере, либо в фильтрах ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 12:18 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
На любой вопрос - любой ответ: Код: c# 1. 2. 3.
Только это писец какой я даже и не знаю что, т.к. и слово "кривой костыль" недостаточно. Редиректы делать это вообще не работа View. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 12:39 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Shocker.Pro Причем тут cshtml? Это делается либо в контроллере, либо в фильтрах Осознал, это была первая шальная мысль, сделал так Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Сейчас при вызове Deals перенаправляется на страницу Login, там ввожу имя+пароль и возвращается на Deals. Но думалось так, что при уже авторизованном юзере должен бы вызываться DealsProtected, но снова вызывается Deals и так по кругу. Чего-то не хватает, но не пойму чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 13:44 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Всё это руками писать не требуется. Всё уже сделано до тебя из коробки - переадресация, возврат. Создай шаблонный MVC-проект с авторизацией и посмотри, как он устроен. Или почитай документацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 13:47 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Shocker.Pro Всё это руками писать не требуется. Всё уже сделано до тебя из коробки - переадресация, возврат. Создай шаблонный MVC-проект с авторизацией и посмотри, как он устроен. Или почитай документацию. Да мне бы надо свою авторизацию сделать, т.е. юзер+пароль в базе проверять, вот, думал небольшой велосипед сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 14:06 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Одному мне кажется, что тут будет что-то типа вечного редиректа? С /deals меня отридеректит на /login где после успешного логина отредиректит обратно на страницу /deals откуда снова отредиректит на страницу /login. Мы вставили тебе логин в логин, чтобы ты мог ввести свой логин. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 14:06 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Ролг Хупин Да мне бы надо свою авторизацию сделать, т.е. юзер+пароль в базе проверять, вот, думал небольшой велосипед сделать Зачем? Есть Identity - работает с практически любой БД, если у вас не какой-нибудь FoxPro или DBase из 80-х (да и к тем, наверняка можно свои stores для identity написать). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 14:10 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Ролг Хупин Да мне бы надо свою авторизацию сделать, т.е. юзер+пароль в базе проверять Пожалуйста, реализуешь нужные интерфейсы и проверяешь что хочешь с помощью штатного Identity. Для этого надо всего лишь потратить полчаса на чтение документации, но нет, мы будем неделями писать свои велосипеды. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 14:20 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
fkthat Зачем? Есть Identity - работает с практически любой БД, если у вас не какой-нибудь FoxPro или DBase из 80-х (да и к тем, наверняка можно свои stores для identity написать). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 14:21 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
fkthat Ролг Хупин Да мне бы надо свою авторизацию сделать, т.е. юзер+пароль в базе проверять, вот, думал небольшой велосипед сделать Зачем? Есть Identity - работает с практически любой БД, если у вас не какой-нибудь FoxPro или DBase из 80-х (да и к тем, наверняка можно свои stores для identity написать). Здесь PostgreSQL... где бы пример найти, как identity использовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 15:40 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Ролг Хупин Здесь PostgreSQL... где бы пример найти, как identity использовать? Да не вали ты всё в кучу. Если ты используешь Identity из коробки, он сам создаёт структуру для своих таблиц и работает через EF, ему пофиг, какая у тебя СУБД, разница только в строке подключения. Если тебе нужно использовать СОБСТВЕННУЮ структуру хранения пользователей в БД, то пожалуйста - ты можешь реализовать свой UserStore и другие сопутствующие интерфейсы. При этом пофиг, какая у тебя СУБД, какой у тебя ORM - ты сам реализуешь методы проверки аутентификации (и авторизации, при желании). И это всё не имеет отношения ни к СУБД, ни к редиректам. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 15:50 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Ролг Хупин где бы пример найти, как identity использовать? Ну вот же тебе целый сайт . Там примеров и туториалов по самое не хочу вообще на любой случай жизни. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 16:56 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
fkthat Ролг Хупин где бы пример найти, как identity использовать? Ну вот же тебе целый сайт . Там примеров и туториалов по самое не хочу вообще на любой случай жизни. Ролг Хупин Shocker.Pro ссылку ему дали выше, но ведь это не царское дело - учебники читать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 17:04 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Shocker.Pro Ролг Хупин Здесь PostgreSQL... где бы пример найти, как identity использовать? Да не вали ты всё в кучу. Если ты используешь Identity из коробки, он сам создаёт структуру для своих таблиц и работает через EF, ему пофиг, какая у тебя СУБД, разница только в строке подключения. Если тебе нужно использовать СОБСТВЕННУЮ структуру хранения пользователей в БД, то пожалуйста - ты можешь реализовать свой UserStore и другие сопутствующие интерфейсы. При этом пофиг, какая у тебя СУБД, какой у тебя ORM - ты сам реализуешь методы проверки аутентификации (и авторизации, при желании). И это всё не имеет отношения ни к СУБД, ни к редиректам. да, проблема в том, что есть база с данными, в ней таблица с юзерами типа имя, пароль, флаг администратор или нет, емейл. С базой работают клиенты через старое винформс приложение. Пытаюсь сделать ASP.NET самохост и клиентсукю часть. Ну, вот, в этом всем надо использовать уже существующую таблицу. Я так понял, что если использовать ASP.NET User Store через EF - это требует своей структуры в базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 17:43 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Ролг Хупин Я так понял, что если использовать ASP.NET User Store через EF - это требует своей структуры в базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 18:31 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Ролг Хупин да, проблема в том, что есть база с данными, в ней таблица с юзерами типа имя, пароль, флаг администратор или нет, емейл. С базой работают клиенты через старое винформс приложение. Пытаюсь сделать ASP.NET самохост и клиентсукю часть. Ну, вот, в этом всем надо использовать уже существующую таблицу. Я так понял, что если использовать ASP.NET User Store через EF - это требует своей структуры в базе. Еще и пароль, наверное, в plaintext. Как выше написали - под identity можно легко прикрутить любой back-storage. Это всего лишь стандартный API для работы с произвольным хранилищем пользовательских credentials и связанной с этим другой информации. Под ним снизу в качестве storage может быть все что угодно - хоть на перфокартах логины/пароли храни. Связка осуществляется просто через компоненты со стандартными интерфейсами - когда тебе нужен какой-то совсем кастомный storage для этого, то ты просто пишешь компоненты с нужными интерфейсами (в основном IUserStore) и identity все это автоматически подхватывает: Custom storage providers for ASP.NET Core Identity Но, на твоем месте, я бы выкинул вашу поделку и прицепил уже то, что из коробки есть, исходя из той СУБД что у вас для этого есть. Потому что там далеко не только логины и пароли, а куча еще всего готового. Захотите например завтра вход через аккаунт "вконтакте", 2FA с подтверждением SMS-кодом и сброс пароля по ссылке на e-mail - там все это уже будет сразу, только подключить в настройках, и не надо будет изобретать свои велосипеды (которые еще, как правило, дырявые оказываются) - недавно видел, как обнаружилось, что у чуваков их самодельный 2FA, который они месяц изобретали, ломается тупым перебором минут за десять. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2019, 20:04 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
fkthat Ролг Хупин да, проблема в том, что есть база с данными, в ней таблица с юзерами типа имя, пароль, флаг администратор или нет, емейл. С базой работают клиенты через старое винформс приложение. Пытаюсь сделать ASP.NET самохост и клиентсукю часть. Ну, вот, в этом всем надо использовать уже существующую таблицу. Я так понял, что если использовать ASP.NET User Store через EF - это требует своей структуры в базе. Еще и пароль, наверное, в plaintext. Как выше написали - под identity можно легко прикрутить любой back-storage. Это всего лишь стандартный API для работы с произвольным хранилищем пользовательских credentials и связанной с этим другой информации. Под ним снизу в качестве storage может быть все что угодно - хоть на перфокартах логины/пароли храни. Связка осуществляется просто через компоненты со стандартными интерфейсами - когда тебе нужен какой-то совсем кастомный storage для этого, то ты просто пишешь компоненты с нужными интерфейсами (в основном IUserStore) и identity все это автоматически подхватывает: Custom storage providers for ASP.NET Core Identity Но, на твоем месте, я бы выкинул вашу поделку и прицепил уже то, что из коробки есть, исходя из той СУБД что у вас для этого есть. Потому что там далеко не только логины и пароли, а куча еще всего готового. Захотите например завтра вход через аккаунт "вконтакте", 2FA с подтверждением SMS-кодом и сброс пароля по ссылке на e-mail - там все это уже будет сразу, только подключить в настройках, и не надо будет изобретать свои велосипеды (которые еще, как правило, дырявые оказываются) - недавно видел, как обнаружилось, что у чуваков их самодельный 2FA, который они месяц изобретали, ломается тупым перебором минут за десять. выкинуть "поделку" - не сложно, ее нет, она у меня в руках скользит Посмотрел пример, в принципе, уже проясняется, пара вопросов: 1. юзер регистрируется сам и ждет подтверждения от некоего админа. Это самый админ - он как подтверждает данные юзера, разрешая ему вход в систему? т.е. надо иметь какой-то интерфейса для админа тоже? 2. Существующая тблица юзеров доолжна быть притянута к структуре, которая нужна провайдеру. При этом в моем случае надо, чтобы существующая таблица работала для старых приложений. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 13:10 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Ролг Хупин 1. юзер регистрируется сам и ждет подтверждения от некоего админа. Это самый админ - он как подтверждает данные юзера, разрешая ему вход в систему? т.е. надо иметь какой-то интерфейса для админа тоже? Ролг Хупин 2. Существующая тблица юзеров доолжна быть притянута к структуре, которая нужна провайдеру. При этом в моем случае надо, чтобы существующая таблица работала для старых приложений. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 13:22 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Shocker.Pro Ролг Хупин 1. юзер регистрируется сам и ждет подтверждения от некоего админа. Это самый админ - он как подтверждает данные юзера, разрешая ему вход в систему? т.е. надо иметь какой-то интерфейса для админа тоже? Ролг Хупин 2. Существующая тблица юзеров доолжна быть притянута к структуре, которая нужна провайдеру. При этом в моем случае надо, чтобы существующая таблица работала для старых приложений. Прислушался к рекомедациям мастеров (от меня благодарочка ), сделал так: Нашел такую реализацию: https://github.com/Robynhu/AspNetCore.Identity.PostgreSQL Прикрутил ее к своему прожекту, выкинув все, что намутил до того, и из прожекта и из головы. Пустил скрипт на базу https://github.com/Robynhu/AspNetCore.Identity.PostgreSQL/blob/master/PostgresIdentity.sql создались таблицы, все ок. Стартонул приложение, на странице логин зарегистрировался, поскольку таблица пустая. Вопрос: Посмотрел руками - в таблице появилась запись об этом юзере, все как регистрировался. Но залогиниться не могу, пишет инвалид. Чего-то не хватает, может подтверждения? где это и как это сделать? Пальцами в базе? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 09:43 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Скачал какую-то левую библиотеку. Она пишет какую-то ошибку. Памагити! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 10:38 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Shocker.Pro Скачал какую-то левую библиотеку. Она пишет какую-то ошибку. Памагити! нет! чисто вопросы там еще веселее: после регистрации юзера можно логиниться, честно проверяет пароль, но не редиректит, остается на той же логин странице ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 12:40 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
fkthat всё, пошел по этой дорожке Было тестовое приложение, сделано под SqlServer там: Код: c# 1. 2.
Как поменять ориентацию на PostgreSQL? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 14:16 |
|
Как в cshtml сделать редирект?
|
|||
---|---|---|---|
#18+
Ролг Хупин Как поменять ориентацию на PostgreSQL? Очевидно, что использовать вот это . Только учти, там по ссылке, походу, пример говеный. (Вместо переопределения в контексте OnConfiguring нужно просто делать конструктор с DbContextOptions, как обычно делают) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2019, 14:54 |
|
|
start [/forum/topic.php?fid=18&msg=39899563&tid=1354841]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
148ms |
get topic data: |
10ms |
get forum data: |
1ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 243ms |
total: | 491ms |
0 / 0 |