2014-01-18 5 views
0
  • <a href="/my/edit.htm?ServiceRequestId=${history.serviceRequestId}"> Редактировать </a>/<a href="/my/delete.htm?id=${history.serviceRequestId}"> Удалить </a>

Какой должна быть образцом для выше URL.I я использую следующие, но ее не работаетSpring URL безопасности шаблону

<intercept-url pattern="/index*" access="permitAll" /> 
<intercept-url pattern="/register*" access="permitAll" /> 
<intercept-url pattern="/welcome*" access="hasRole('Techincian')" /> 
<intercept-url pattern="/my/*" access="hasRole('Techincian')" /> 
<intercept-url pattern="/my/*\?param=value" access="hasRole('Techincian')" /> 

ответ

0
<intercept-url pattern="/my/**" access="hasRole('Techincian')" /> 

должен работать, но обратите внимание, что это будет соответствовать тому, что есть <root of the project>/my/something. Вышеупомянутые ссылки являются относительными и могут привести к тому, что некоторые другие URL-адреса будут не привязаны. Чтобы убедиться, что вы начинаете с корня, вы можете использовать c:url, если вы находитесь в jsp.

+0

Спасибо !!!! его теперь работает –

+0

Пожалуйста, ответьте на вопрос ниже –

0

Spring Форма .Я хочу, чтобы обновить запрос, сделанный клиентом путем изменения его status.some поля приходит форма контроллер .I хотите отправить форму на контроллер, чтобы Асесс значения

h2>Update Request</h2> 
>form:form method="POST" action="/my/update.htm" commandName="servicehistory"> 
table align="center" border="0"> 

<tr><td>Request Id: </td> 
<td><form:input path="sr.ServiceRequestId" value="${sr.serviceRequestId}"></form:input>  < other fields.............. 
<tr><td><input type="submit" value="Save" /></td></tr> 

Контроллер, который получает доступ к значению формы и обновляет запрос в базе данных. Но этого не происходит. Экран GUI показывает, что ресурс недоступен. Он работал без Spring Security.

@RequestMapping(value="/my/update.htm",method=RequestMethod.POST) 


public ModelAndView update(@ModelAttribute("servicehistory") @Valid ServiceHistories sh1,BindingResult result,ModelMap map) 

{ 

    Redirect it to another page after validating the form 
    return new ModelAndView(("redirect:/displaylist.htm")); 
} 

>Spring Security which implement security after matching url and user role 

< HTTP автоматической конфигурации = "истинные" потребительные выражения = "истинный">

<intercept-url pattern="/admin/*" access="hasRole('Technician')" /> 
<intercept-url pattern="/my/**" access="hasRole('Techincian')" /> 
+0

Попробуйте обернуть URL-адрес действия в форме в c: url. –

0

Это страница JSP, которая используется для назначения compalint к techincian. После нажатия submit, он дает исключения в формате номера.

<c:forEach items="${hlist}" var="history" varStatus="i"> 
<tr> 
<td><form:input path="requests[${i.index}].ServiceRequestId" value="${history.serviceRequestId }"></form:input></td> 

<td><form:input path="requests[${i.index}].Description" value="${history.description }"></form:input></td> 
<td><form:select multiple="false" path="requests[${i.index}].userto.UserId"> 
        <form:option value="NONE" label="--- Select ---" /> 

      <c:forEach items="${user}" var="u" varStatus="index">     
        <form:option label="${u.userName}" value="${u.userId}" /> 

        </c:forEach> 
        </form:select> 
</tr> 
</c:forEach> 
<tr><td> <input type="submit" value="Assign Technicians"></td></tr> 


>Controller : I am using Autopopulating list to access list coming from above form.But it gives Number format exception. But it is working for another scenario which is identical to this one. 
@ModelAttribute("requestForm") 
    public RequestForm getRequest() 
    { 
     RequestForm rf=new RequestForm(); 
     rf.setRequests(new AutoPopulatingList(ServiceRequests.class)); 
     return rf; 
    } 

    @RequestMapping(value="/admin/assigntech.htm",method=RequestMethod.POST) 
    public String assign(@ModelAttribute("requestForm") RequestForm requestForm,BindingResult result,ModelMap map) 
    { 
     List<ServiceRequests> sr=(List<ServiceRequests>)requestForm.getRequests(); 
     System.out.println(sr.size()); 
     System.out.println(sr.get(0).getUserto().getUserId()); 

     return "Welcome"; 
    } 
+0

Пожалуйста, не ставьте вопросы как ответы. [Изменить] (http://stackoverflow.com/posts/21203804/edit) вместо этого. – GNKeshava

0

Чтобы соответствовать всем в папке, такой как/my /, вы должны использовать двойную звездочку **, потому что соответствие шаблону соответствует стандарту Ant.

Смежные вопросы