У меня есть some.jsp Есть кнопка действия, например delete . У меня есть пользователи и их роли. Tomcat 8 обеспечивает безопасность. Допустим, пользователь сделал несколько действий и нажал кнопку отправить
url с параметрами переходит в сервлет. Давайте рассмотрим пример отображения сервлета:
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>servlets.myServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>sName</servlet-name>
<url-pattern>/action1</url-pattern>
</servlet-mapping>
<security-constraint>
<display-name>administrators</display-name>
<web-resource-collection>
<web-resource-name>action1</web-resource-name>
<description>action1</description>
<url-pattern>/action1</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>allowed for administrator</description>
<role-name>administratorRole</role-name>
</auth-constraint>
</security-constraint>
На основании всего, что идет с <url-pattern>/action1</url-pattern>
, разрешено только для администратора.
Но я хочу ограничить только кнопку delete . Все остальное на этом some.jsp должно быть разрешено для других пользователей. Как это реализовать?
JSP часть:
<form name="frm" action="action1">
<input type="hidden" name="prm1" value="${prm1}"/>
<input type="hidden" name="prm2" value="${prm2}"/>
<input id="btnid" type="submit" value="send" name="btn"/>
</form>
<form name="frm" action="action1">
<input type="hidden" name="prm1" value="${prm1}"/>
<input type="hidden" name="prm2" value="${prm2}"/>
<input id="btnid" type="submit" value="delete" name="btn"/>
</form>
Часть сервлета:
String actionType=request.getParameter("btn");
if(actionType.equals("send")) doSend();
if(actionType.equals("delete")) doDel();
Ожидаемый результат: