2013-08-05 3 views
1

Я разрабатываю плагин для SonarQube, который добавляет (помимо прочего) новую страницу, где пользователь может загрузить изображение профиля. Для этого мне нужно получить идентификатор текущего пользователя. Во-первых, я попытался это:
Плагин для SonarQube, как получить текущий идентификатор пользователя на странице?

<p>The Current User Id = <%[email protected]%></p> 

Результат:

Текущий пользователь Id = 4

Есть только два пользователи в моем экземпляре Sonar с идентификаторами 1 и 2, поэтому я знал, что это не может быть правильно. Так что я попытался это:

<p>The Current User Id = <%[email protected]%></p> 
<p>The Current Project Id = <%[email protected]%></p> 

Результат:

Текущий пользователь Id = 4
Идентификатор проекта Ток = 4

Затем я заметил, что окно для Windows CMD имел этот текст в нем после просмотра страницы:

warning: Object # id будет устаревшим; Использование Object # object_id

Так что я попытался это:

<p>The Current User Id = <%[email protected]_id-%></p> 

Результат был таков: enter image description here
Итак, как я могу получить идентификатор текущего зарегистрированного пользователя на странице в мой плагин?

+0

Что такое значение '@User в действии контроллера, также я думаю, что лучше использовать @User с капиталом U, а использовать нижний регистр @user. Используете ли вы камень для аутентификации, такой как Devise, или вы сделали это с нуля? –

+0

Долгий и короткий из них, я этого не делал - действие контроллера для поиска текущего пользователя (если оно есть - и оно должно быть) находится в самом приложении SonarQube. Я попытался найти его в исходном коде SonarQube, но безрезультатно. Кроме того, я просто попытался сделать '@ User'' @ user' и снова попытался использовать комбинации, но не было никакой разницы. Я не знаю, помогает ли это, но '@ Project' работает, когда я кодирую новый виджет, но не тогда, когда я кодирую новую страницу. –

+0

Как вы работаете в SonarQube? Через драгоценный камень? Из того, что я [читал] (http://docs.codehaus.org/display/SONAR/Getting+Started), вам нужно кодировать плагин в Java –

ответ

1

Если пользователь вошел в систему, у вас есть доступ к переменной «current_user».

См. Например, "account" ERB template, который отображает информацию о текущем пользователе в SonarQube.

+0

Это именно то, что я искал, спасибо! В будущем я запомню, что не просто посмотрю исходный код SonarQube, но и в каталог Sonar-Server/WEB-INF, чтобы найти пример исходного кода. Спасибо! –

Смежные вопросы