Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / роли пользователей / 25 сообщений из 25, страница 1 из 1
10.08.2004, 17:09
    #32643208
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
У класса HttpServletRequest есть такой метод - isUserInRole("some_role"), используя этот метод, можно определить к какой группе пользователей относится юзер и соответственно ограничить или расширить его права. Как я понимаю, до использования этого метода, нужно сначала где то определить роли, а потом каким-то образом сервер должен определять к какой роли принадлежит юзер. Так вот, кто-нибудь знает, как это делается и зависит ли это от используемого сервера приложений?? Часто используется этот метод или есть другие фишки для подобных целей??
...
Рейтинг: 0 / 0
10.08.2004, 17:11
    #32643211
А.Гpacoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
wessenУ класса HttpServletRequest есть такой метод - isUserInRole("some_role"), используя этот метод, можно определить к какой группе пользователей относится юзер и соответственно ограничить или расширить его права. Как я понимаю, до использования этого метода, нужно сначала где то определить роли, а потом каким-то образом сервер должен определять к какой роли принадлежит юзер. Так вот, кто-нибудь знает, как это делается и зависит ли это от используемого сервера приложений?? Часто используется этот метод или есть другие фишки для подобных целей??

%КАТАЛИНА_ХОМЕ%\conf\tomcat-users.xml
...
Рейтинг: 0 / 0
10.08.2004, 17:17
    #32643227
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
роли задаются в web.xml
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<security-constraint>
 <web-resource-collection>
            <web-resource-name>operators</web-resource-name>
              <url-pattern>/test</url-pattern>
              <url-pattern>/test.jsp</url-pattern>
            </web-resource-collection>
	<auth-constraint>
	  <role-name>operators</role-name>
	</auth-constraint>
</security-constraint>
<security-role>
  <role-name>operators</role-name>
</security-role>
а как ета роль описывается в дескрипторе сервера зависит от сервера :(
по-моему так иль я чё не панимаю
...
Рейтинг: 0 / 0
10.08.2004, 17:22
    #32643237
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
А.Гpacoff wessenУ класса HttpServletRequest есть такой метод - isUserInRole("some_role"), используя этот метод, можно определить к какой группе пользователей относится юзер и соответственно ограничить или расширить его права. Как я понимаю, до использования этого метода, нужно сначала где то определить роли, а потом каким-то образом сервер должен определять к какой роли принадлежит юзер. Так вот, кто-нибудь знает, как это делается и зависит ли это от используемого сервера приложений?? Часто используется этот метод или есть другие фишки для подобных целей??

%КАТАЛИНА_ХОМЕ%\conf\tomcat-users.xmlДопустим там я пропишу роль и пароль. у меня есть сервлет, в нем такая строка - request.isUserInRole("admin"), к сервлету я обращаюсь вот так - ..../showcart - и как сервер определит кто я есть, админ или юзер?
...
Рейтинг: 0 / 0
10.08.2004, 17:27
    #32643249
А.Гpacoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
вэб.хмл

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- edited with XML Spy v3.5 NT (http: //www.xmlspy.com) by  () --> 
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	<security-constraint>
		<web-resource-collection>
			<web-resource-name>Protected Resource</web-resource-name>
			<url-pattern>/*</url-pattern>
		</web-resource-collection>
		<auth-constraint>
			<role-name>nostrole</role-name>
		</auth-constraint>
	</security-constraint>
	<login-config>
		<auth-method>BASIC</auth-method>
		<realm-name>Some Authentication</realm-name>
	</login-config>
</web-app>

индекс.джсп

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<%@ page contentType="text/html;charset=windows-1251"%>
<html>
<head>
<title>test</title>
<head>
<body>
you're logged as <b><%= request.getUserPrincipal().getName() %></b>

<%--
<font size="4" color="blue">security information:</font><br/>
user principal: <b><%= request.getUserPrincipal().getName() %></b>.<br/>
user name: <b><%= request.getRemoteUser() %></b>.<br/>
request authenticated with: <b><%= request.getAuthType() %></b>.<br/>
<% if(request.isSecure()) { %>
this connection is <b>secure</b>.<br/>
<% } else { %>
this connection is <b>not secure</b>.<br/>
<% } %>
</p>
remote addr: <b><%= request.getServerName() %></b><br/>
remote host: <b><%= request.getRemoteHost() %></b><br/>
remote addr: <b><%= request.getRemoteAddr() %></b>
<p>
<% if (request.isUserInRole("testtrole")) { %>
you're in <i><b>Test</b></i> role<br/>
<% } %>
</p>
--%>
</body>
<html>

томкат-юзерс.хмл

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="testrole" description="test role"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="test_user" password="test_pwd" roles="testrole"/>
  <user username="admin" password="" roles="admin,manager"/>
</tomcat-users>
...
Рейтинг: 0 / 0
10.08.2004, 17:28
    #32643250
А.Гpacoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
роли также и юзеров можно положить в БД - потом
настроить соотв. под это дело томкат - server.xml
...
Рейтинг: 0 / 0
10.08.2004, 17:28
    #32643251
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
а типа чтоб палучить доступ к ресурсу(который зашищён) надо аутенифицироваться и браузёр ета спросит у тебя
...
Рейтинг: 0 / 0
10.08.2004, 17:30
    #32643252
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
во Грасоff молодца!!!
...
Рейтинг: 0 / 0
10.08.2004, 17:32
    #32643255
А.Гpacoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
zalexakaа типа чтоб палучить доступ к ресурсу(который зашищён) надо аутенифицироваться и браузёр ета спросит у тебя

ну кроме стандартного окошка можно сделать
обычный вэб-интерфейс. томкат это тоже умеет разруливать.
...
Рейтинг: 0 / 0
10.08.2004, 17:34
    #32643259
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
А.Гpacoff zalexakaа типа чтоб палучить доступ к ресурсу(который зашищён) надо аутенифицироваться и браузёр ета спросит у тебя

ну кроме стандартного окошка можно сделать
обычный вэб-интерфейс. томкат это тоже умеет разруливать.
ни вапрос ето я к примеру
...
Рейтинг: 0 / 0
10.08.2004, 17:55
    #32643292
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
Спасибо Грасофф, буду разбираться, но все равно, мне не хрена не ясен один момент, вот есть у меня шаблон, по этому шаблону сделан весь сайт, если ты админ, то у тебя в правом верхнем углу должна висеть админская менюшка. Так вот, если заходит юзер, то его не должны волновать какие-то там таблички с вводом пароля и т.д. Если я админ, то как мне аутентификоваться(ну и слово), нужно зайти на кокаой нить скрытый линк, ввести там логин и пароль??? Допустим линк указывает на каккой нить сервлет и что тогда должен делать этот сервлет?????
...
Рейтинг: 0 / 0
10.08.2004, 18:07
    #32643307
А.Гpacoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
wessenСпасибо Грасофф, буду разбираться, но все равно, мне не хрена не ясен один момент, вот есть у меня шаблон, по этому шаблону сделан весь сайт, если ты админ, то у тебя в правом верхнем углу должна висеть админская менюшка. Так вот, если заходит юзер, то его не должны волновать какие-то там таблички с вводом пароля и т.д. Если я админ, то как мне аутентификоваться(ну и слово), нужно зайти на кокаой нить скрытый линк, ввести там логин и пароль??? Допустим линк указывает на каккой нить сервлет и что тогда должен делать этот сервлет?????

а юзеры у тебя логинятся?
...
Рейтинг: 0 / 0
10.08.2004, 18:08
    #32643309
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
А.Гpacoff wessenСпасибо Грасофф, буду разбираться, но все равно, мне не хрена не ясен один момент, вот есть у меня шаблон, по этому шаблону сделан весь сайт, если ты админ, то у тебя в правом верхнем углу должна висеть админская менюшка. Так вот, если заходит юзер, то его не должны волновать какие-то там таблички с вводом пароля и т.д. Если я админ, то как мне аутентификоваться(ну и слово), нужно зайти на кокаой нить скрытый линк, ввести там логин и пароль??? Допустим линк указывает на каккой нить сервлет и что тогда должен делать этот сервлет?????

а юзеры у тебя логинятся?нет, юзеры не логинятся.
...
Рейтинг: 0 / 0
10.08.2004, 18:09
    #32643312
А.Гpacoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
страничку для админа сделать не видимую юзерам для логина.
...
Рейтинг: 0 / 0
10.08.2004, 18:10
    #32643314
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
вот даже по твоему примеру, если я зайду на index.jsp, как сервер поймет, кто я?
...
Рейтинг: 0 / 0
10.08.2004, 18:12
    #32643315
А.Гpacoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
wessenвот даже по твоему примеру, если я зайду на index.jsp, как сервер поймет, кто я?

а ты сделай :) и увидишь как :)

окно тебе браузер покажет с двумя полями ввода - логин/пассворд.
...
Рейтинг: 0 / 0
10.08.2004, 18:12
    #32643317
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
А.Гpacoffстраничку для админа сделать не видимую юзерам для логина.имнно это я и хотел услышать, только какие апи использовать, что бы сервер определил мою роль, и если все таки определит, то она на протяжении всей сессии держаться будет? В каждом запросе?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
10.11.2005, 11:11
    #33370505
galisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
Добрый день !

Не получилось заставить Tomcat 5.5.12 считать мой файл с юзерами и ролями.
Работает только со своим tomcat-users.xml.

Сделано вроде согласно по документации.
В /META-INF/content.xml записал
Код: plaintext
1.
2.
<Realm className="org.apache.catalina.realm.MemoryRealm"
             path="путь\www\app\WEB-INF\myusers.xml"/>

содержимое myusers.xml:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="loader"/>
  <role rolename="madmin"/>
  <user username="oper1" password="oper1" roles="loader"/>
  <user username="sadmin" password="sadmin" roles="madmin,loader"/>
</tomcat-users>

Что не так ?
Спасибо заранее
...
Рейтинг: 0 / 0
11.11.2005, 09:59
    #33372703
galisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
Добрый день !

Похоже так никто и не знает как решить эту задачку ;(

Так и придется в tomcat-users.xml все заталкивать.
...
Рейтинг: 0 / 0
11.11.2005, 10:34
    #33372816
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
galishaСделано вроде согласно по документации.покажи ссылку на документацию. или дай имя файла этой документации.
...
Рейтинг: 0 / 0
11.11.2005, 10:52
    #33372889
galisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
вот ссылка:

http://tomcat.apache.org/tomcat-5.5-doc/realm-howto.html

Может я действительно чего не понял, не так прочел (перевел) ?
...
Рейтинг: 0 / 0
11.11.2005, 10:54
    #33372895
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
может быть. а в файле server.xml ты что-нибудь делал?
...
Рейтинг: 0 / 0
11.11.2005, 11:06
    #33372942
galisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
Да ничего не трогал, ссылку только на свое приложение вывел и все.

Но если у Вас это работает, то поделитесь настройками, плиз.

Если такое не делали, то и ладно. Можно в принципе и с общим файлом жить.
...
Рейтинг: 0 / 0
11.11.2005, 11:16
    #33372985
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
так?
server.xml
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
...
<GlobalNamingResources>
  ...
  <Resource name="MyUserDatabase" auth="Container"
                 type="org.apache.catalina.UserDatabase"
                 description="My user database that can be updated and saved"
                 factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                 pathname="c:/my/my-tomcat-users.xml" />
</GlobalNamingResources>
...

    <Engine name="yandexEngine" defaultHost="www.yandex.ru">
      ...
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 resourceName="MyUserDatabase"/>
    </Engine>
...

твой content.xml (я так понимаю, что это описание контекста)
Код: plaintext
1.
2.
3.
4.
<Context docBase="c:/my-webapps/content-site">
  <ResourceLink name="myUsers" global="MyUserDatabase"
                type="org.apache.catalina.UserDatabase"/>
</Context>

web.xml твоего приложения
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
...
  <resource-env-ref>
    <resource-env-ref-name>
      myUsers
    </resource-env-ref-name>
    <resource-env-ref-type>
      org.apache.catalina.UserDatabase
    </resource-env-ref-type>
  </resource-env-ref>
...
...
Рейтинг: 0 / 0
11.11.2005, 11:44
    #33373096
galisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
роли пользователей
Спасибо за советы.

Один из похожих вариантов, как написано у Вас пытался делать, но Tomcat ругался.
К сожалению, server.xml с собой не прихватил. Попробую по Вашему приведенному примеру, может и прокатит.

Могу только привести кусок web.xml:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
   <security-constraint>
      <display-name>Area of data loading</display-name>
      <web-resource-collection>
         <web-resource-name>PArea loading</web-resource-name>
	 <!-- Define the context-relative URL(s) to be  protected  -->
         <url-pattern>/madm/ld/*</url-pattern>
	 <!--  If  you list http methods, only those methods are  protected  -->
	 <http-method>DELETE</http-method>
         <http-method>GET</http-method>
         <http-method>POST</http-method>
	 <http-method>PUT</http-method>
      </web-resource-collection>
      <auth-constraint>
         <!-- Anyone with one of the listed roles may access  this  area -->
         <role-name>madmin</role-name>
	 <role-name>loader</role-name>
      </auth-constraint>
    </security-constraint>

    <login-config>
      <auth-method>BASIC</auth-method>
      <realm-name>Data load area</realm-name>
    </login-config>
        
    <!-- Security roles referenced by  this  web application -->
    <security-role>
      <role-name>loader</role-name>
    </security-role>
    <security-role>
      <role-name>madmin</role-name>
    </security-role>    

Но тут нет ссылок на ресурсы, как бы content.xml должен это решать.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / роли пользователей / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]