CORBA не имеет встроенного механизма идентификации клиента, который вы можете использовать, к сожалению. Основная причина, по которой CORBA никогда не указывал это, заключается в том, что трудно определить, что такое «клиент» на самом деле: это процесс или поток? Это целый уровень или один экземпляр приложения? Как насчет клиентов в том же процессе, что и сервер? Кроме того, некоторым разработчикам может потребоваться другое поведение, охватывающее любой из этих параметров.
Лично я думаю, что ваш подход к тому, чтобы сервер диктовал идентификатор для клиента, - это хорошо, но имейте в виду, что это в основном подход "идентификатора сеанса", и его сложно масштабировать в горизонтальном направлении. Убедитесь, что вам абсолютно необходимо идентифицировать своих клиентов, потому что такая простая процедура, как аутентификация клиента через IIOP / TLS, может не сработать.