Witam.
Mam kłopot z ograniczeniem dostępu do servletu /wypisz.do .
Chciałbym aby po kliknięciu na link pojawiło się standardowe okno logowania Tomcata 6.
Dostęp do servletu ma mieć użytkownik z rolą admin.
Baza danych to MySQL 5.1.30.
Podaje konfigurację:
z pliku web.xml
<servlet> <servlet-name>Wypisz</servlet-name> <servlet-class>dodaj.Wypisz</servlet-class> </servlet><servlet-mapping>
<servlet-name>Wypisz</servlet-name>
<url-pattern>/wypisz.do</url-pattern>
</servlet-mapping>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>testowanieLogowania</realm-name>
</login-config>
<security-role>
<role-name>admin</role-name>
</security-role>
<security-constrain>
<web-resource-collection>
<web-resource-name>Wyswietl strone</web-resource-name>
<url-pattern>/*</url-pattern>
<url-pattern>/wypisz.do</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constrain>
z pliku server.xml
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc//localhost/test?user=root&password=dobra"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name"/>
struktura tabel:
mysql> desc users;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| user_name | varchar(15) | NO | PRI | NULL | |
| user_pass | varchar(15) | NO | | NULL | |
+-----------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)
mysql> desc user_roles;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| user_name | varchar(15) | NO | PRI | NULL | |
| role_name | varchar(15) | NO | PRI | NULL | |
+-----------+-------------+------+-----+---------+-------+
Oczywiscie tableki uzupełniłem :).
Pozdrawiam.