Как ограничить действие отправки на JSP в зависимости от роли пользователя? - PullRequest
2 голосов
/ 13 марта 2019

У меня есть 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();

Ожидаемый результат:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...