2015-05-28 2 views
0

Я разработал портал, используя Liferay. У меня есть два вида пользователей, гостевой пользователь и пользователь Admin. Вход должен быть доступен только администратору. Гость не должен входить в систему или даже видеть кнопку входа. Как мне это достичь? через разные URL?Как мы можем предоставить два разных URL-адреса для разных пользователей в Liferay?

+0

Как вы хотите различать администраторов и гостевых пользователей * до того, как они вошли в систему? Когда они не вошли в систему, они оба гости. –

+0

Да. Это проблема. Вот почему я предложил решение для скрытых страниц. – Gevatterjan

+0

Понял (и поддержал). Но я хотел явно спросить об этом, потому что ответ на этот вопрос помогает по-разному думать о проблеме. –

ответ

5

Вы можете рассмотреть следующие вопросы: Удалить портлет входа в систему из шаблона темы. (portal-normal.vm) Создайте скрытую страницу в группе гостей. На этой странице вы размещаете только портлет входа. Таким образом, только пользователи, которые знают прямой URL, могут войти в систему. AFAIK нет другого способа добиться этого, так как вы не знаете, является ли кто-либо администратором до того, как он ввел свои учетные данные;)

[EDIT] Чтобы удалить портлет входа в систему из шаблона, вам необходимо выполнить следующие действия: шаги: A) Если вы не имеете собственную тему - Создать новую тему - родитель вашей новой темы классическая - Место portal_normal.vm в/DOCROOT/_diffs/шаблоны - Удалить эти строки:

#if (!$is_signed_in) 
     <a data-redirect="$is_login_redirect_required" href="$sign_in_url" id="sign-in" rel="nofollow">$sign_in_text</a> 
    #end 

Это должно удалить ссылку для входа. - Скомпилируйте и разворачивайте свою тему - Назначьте тему на портале как тему по умолчанию. Назначьте тему своей гостевой группе Site.

Теперь вам нужно только создать свою скрытую страницу и поместить на нее портлет входа. [/ EDIT]

+0

Привет, этот подход кажется прекрасным .. Не могли бы вы объяснить это? – Shruthi

+0

Честно говоря, я не знаю, как я могу подробнее разобраться, поскольку все, что вам нужно сделать, уже написано в моем ответе. Какая часть вам непонятна? Также я хочу отметить, что вы удаляете разрешения View для гостя для портлета входа, чтобы сломать ваш портал, потому что никто не сможет войти. (Потому что вы гость, если вы не вошли в систему) – Gevatterjan

+0

То есть моя забота, если никто не сможет войти в систему, то как это возможно? И вы также упомянули о создании скрытой страницы. Будет ли этот подход работать? как это сделать? – Shruthi

0

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

+0

Я бы не счел это очень практичным подходом. IP-адреса могут меняться, но для реализации потребуются предположения о жестком кодировании (у админов будет один из этих IP-адресов), если у вас есть новый администратор, вам придется добавить его/ее IP-адрес. И мы говорим только о последствиях, когда портал доступен из Интернета. Что относительно более сложных ИТ-инфраструктур в крупных компаниях? В итоге вы получите грязный код и много работы, поддерживая его. – Gevatterjan

+0

Это был лишь пример предположения, и я бы сказал, что это не создает проблемы при внедрении и обслуживании. В корпоративной среде существует множество ситуаций, когда IP-адреса известны и иногда привязаны к пользователю. Hardcoding действительно будет беспорядочным, но кто не позволяет разработчику использовать файл свойств или базу данных для хранения сопоставлений? –

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