Jump to content

Как разрешить одинаковые имена пользователей?

Featured Replies

Posted
comment_193847

Привет,

Я требую, чтобы все мои пользователи регистрировались под своим полным именем. Однако в моей стране есть несколько распространенных имен. Это может стать проблемой в будущем.

Я хотел бы разрешить дублирование имен пользователей на своих форумах. Как мне это сделать?

comment_193850

добавлять рандом строку к имени и ее скрывать

ну или поправить движок так чтобы принимал одинаковые имена

  • Author
comment_193856
10 hours ago, dfdgfgfsd said:

добавлять рандом строку к имени и ее скрывать

ну или поправить движок так чтобы принимал одинаковые имена

Какой из них легче? Не могли бы вы просветить меня, как начать делать что-то из этого?

  • Author
comment_193880

Есть идеи? Может быть, если кто-нибудь укажет мне правильное направление, я смогу разобраться в этом сам ❤️

@by_ix @SlawkA @Desti

Edited by BlackShot

comment_193882

Логически, если два пользователя используют одинаковое имя пользователя, возникнут проблемы при попытке входа в систему. Это обычно предотвращается в системах управления пользователями, чтобы каждый пользователь имел уникальное имя пользователя.

Распространенным способом избежать конфликтов в именах пользователей является использование уникального идентификатора пользователя. В этом случае каждому пользователю присваивается уникальный идентификатор, который может быть числовым или строковым. Идентификатор пользователя используется в качестве уникального критерия для идентификации каждого пользователя, и имя пользователя может быть повторяющимся.

Например, в системе регистрации пользователей пользователи могут выбирать свои имена пользователей, но система должна иметь механизм, чтобы убедиться, что ни один человек не выберет одно и то же имя пользователя. Обычно это делается с использованием базы данных и поиска по предыдущим именам пользователей.

 

Мой подход: Вы должны разорвать связь между полем имени пользователя и базой данных, чтобы не выполнять никаких проверок и позволить пользователям выбирать повторяющиеся имена. Затем вы обязательно должны настроить способ входа с использованием электронной почты, так как в противном случае система не сможет определить профиль. :bz:

 

В профессиональных системах управления пользователями лучшим подходом для предотвращения конфликтов в именах пользователей является использование уникального идентификатора для каждого пользователя, такого как идентификатор пользователя.

Метод, который вы описали, может привести к проблемам с безопасностью и ненадежностью системы. С точки зрения безопасности, отключение связи поля имени пользователя с базой данных может создать уязвимости в системе, так как имя пользователя должно быть уникальным, чтобы определить личность каждого пользователя и предотвратить несанкционированный доступ к учетным записям. Также связывание способа входа в систему с электронной почтой может вызвать другие проблемы, поскольку электронная почта не может быть сама по себе надежным и уникальным идентификатором для каждого пользователя.

comment_193883

В целом это можно сделать. Но нужно предусмотреть взаимодействия с именем в движке. К примеру поле \IPS\Helpers\Form\Member получает пользователей по имени, и если выбрать пользователя с именем, которое уже существует, он сохранит первого попавшего пользователя с таким именем в БД, а не нужного нам. Авторизацию отключить по имени, а оставить только по email и пр. По хорошему тут нужно писать плагин.

  • Author
comment_193888
10 hours ago, Xontero said:

Logically, if two users use the same username, there will be problems when they try to login. This is usually prevented in user management systems so that each user has a unique username.

A common way to avoid conflicts in usernames is to use a unique user ID. In this case, each user is assigned a unique identifier, which can be numeric or string. The user ID is used as a unique criterion for identifying each user, and the user name can be repeated.

For example, in a user registration system, users can choose their usernames, but the system must have a mechanism to ensure that no one person chooses the same username. This is usually done using a database and looking up previous usernames.

 

My approach: You should break the link between the username field and the database to not perform any validation and allow users to select duplicate names. You must then make sure to set up a login method using email, otherwise the system will not be able to determine the profile.:bz:

 

In professional user management systems, the best approach to avoid conflicts in usernames is to use a unique identifier for each user, such as a userid.

The method you describe can lead to system security and unreliability issues. From a security point of view, disabling the association of the username field with the database can create vulnerabilities in the system, since the username must be unique to identify each user and prevent unauthorized access to accounts. Also, associating a login method with email can cause other problems because email cannot by itself be a reliable and unique identifier for each user.

 

8 hours ago, WaNted said:

In general, this can be done. But you need to provide interactions with the name in the engine. For example, the \IPS\Helpers\Form\Member field gets users by name, and if you select a user with a name that already exists, it will store the first user with that name in the database, and not the one we need. Disable authorization by name, and leave only by email, etc. For good, you need to write a plugin here.

Спасибо ребята! Я уже думал о том, чтобы разрешить вход только через электронную почту, а не через электронную почту и имя пользователя.

Итак, достаточно изменить вариант входа в систему и удалить проверку на дублирование имени пользователя? Кто-нибудь знает, в какой файл мне нужно заглянуть, чтобы внести эти изменения? Потом попробую написать для него простенький плагин.

РЕДАКТИРОВАТЬ:

Хорошо, я только что прочитал это снова. Мне нужно будет внести больше изменений, чем ожидалось. Я все еще готов сделать это. Если кто-то может помочь с более конкретными шагами или примерами, я был бы признателен!

По крайней мере, о том, как заставить поле «Member» правильно извлекать данные.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.