Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разделение прав после аутентификации 
:(
    Опции темы
Egorik789
  Дата 13.7.2011, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 2.11.2009

Репутация: нет
Всего: нет



Всем привет! Очень нужна помощь. Делаю обычное web приложение с использованием GWT. Проблема вот в чем. 
Аутентификацию делаю стандартными средствами сервера Tomcat, настраиваю JDBCRealm к Oracle в server.xml, 
создаю таблицы в БД, далее настраиваю web.xml, указываю что это Form аутентификация. В общем все работает. 
Мне нужно сделать разделение интерфейса, по ролям. То есть определяю текущую роль этого пользователя и 
запускается нужный класс. Обработку можно сделать на сервере или лучше сразу на клиенте. Если это был бы 
обычный сервелет то вызвал бы методы getUserPrincipal, getCallerPrincipal, isUserInRole(), isCallerInRole(). 
В данном случае это не актуально. Как можно сделать разделение по ролям..?
Привожу код.
Стандартный MainEntryPoint.java в пакете клиента
Код

package org.yournamehere.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;

/**
 * Main entry point.
 *
 * @author 777
 */
public class MainEntryPoint {

    public void onModuleLoad() {
        final Label label = new Label("Hello, GWT!!!");
        final Button button = new Button("Click me");
        button.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent event) {
                label.setVisible(!label.isVisible());
            }
        });

        RootPanel.get().add(button);
        RootPanel.get().add(label);
        }
}

server.xml (привожу только то что изменил)
Код

<Realm className="org.apache.catalina.realm.JDBCRealm" connectionName="system" connectionPassword="777" 
connectionURL="jdbc:oracle:thin:@777-3c828e8522a:1521:XE" driverName="oracle.jdbc.driver.OracleDriver" roleNameCol="role_name" 
userCredCol="user_pass" userNameCol="user_name" userRoleTable="user_roles" userTable="users"/>

web.xml
Код

<welcome-file-list>
        <welcome-file>welcomeGWT.html</welcome-file>
    </welcome-file-list>
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>WebApplication1</web-resource-name>
            <url-pattern>/welcomeGWT.html</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>Role1</role-name>
        </auth-constraint>
    </security-constraint>
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>WebApplication1</web-resource-name>
            <url-pattern>/welcomeGWT.html</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>Role2</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>FORM</auth-method>
        <form-login-config>
            <form-login-page>/LoginForm.html</form-login-page>
            <form-error-page>/LoginError.html</form-error-page>
        </form-login-config>
    </login-config>

LoginForm.html
Код

<body>
    <form method="POST" action="j_security_check">

  Username: <input type="text"     name="j_username"><br/>
  <br>
  Password: <input type="password" name="j_password"><br/>
  <br />

  <input type="submit" value="Login">
  <input type="reset"  value="Reset">

</form>
  </body>


Это сообщение отредактировал(а) Egorik789 - 13.7.2011, 06:58
PM MAIL   Вверх
Stolzen
Дата 13.7.2011, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 3
Всего: 48



Можно использовать Spring для этого
Вот нашел интересный пример -  https://bitbucket.org/gardellajuanpablo/gwt-sample/src 
Помимо интеграции spring+gwt есть еще парочку интересных вещей
Запуск - mvn gwt:run

И тут можно поглядеть http://stackoverflow.com/questions/1349938...-authentication и тут http://code.google.com/p/google-web-toolki...oginSecurityFAQ


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0705 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.