Недоброкачественная
Если вы используете простые представления JSP (как это обычно бывает), просто добавьте
<% response.setStatus( 403 ); %>
где-то в вашем файле просмотра. На вершине хорошее место.
Detail
В MVC я всегда устанавливал бы это в представлении, и в большинстве случаев с Spring-MVC используйте SimpleMappingExceptionResolver
для представления правильного представления в ответ на выброшенное исключение времени выполнения.
Например: создайте и добавьте PermissionDeniedException
в вашем контроллере или слое обслуживания и укажите точку разрешения исключений для файла вида permissionDenied.jsp
. Этот файл представления устанавливает статус 403 и показывает пользователю соответствующее сообщение.
В вашем XML-файле Spring bean:
<bean id="exceptionResolver"
class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="PermissionDeniedException">
rescues/permissionDenied
</prop>
... set other exception/view mappings as <prop>s here ...
</props>
</property>
<property name="defaultErrorView" value="rescues/general" />
</bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
Если вам необходимо реализовать механизм входа пользователя в систему, взгляните на Spring Security (ранее Acegi Security).