我使用带有Spring安全性的Spring MVC为在线航班预订系统创建一个简单的Web应用程序。我已创建下表以显示航班详情。
<table class="table table-bordered table-hover table-striped ">
<thead>
<tr>
<th>Flight No</th>
<th>Flight destination</th>
<th>Flight origin</th>
<th>Flight date</th>
<th>Flight time</th>
<th>Book now</th>
</tr>
</thead>
<tbody>
<form:form commandName="reserv" cssClass="form-horizontal">
<c:forEach items="${flightInfos}" var="flightInfo">
<tr>
<td>${flightInfo.flightNo}</td>
<td>${flightInfo.destination}</td>
<td>${flightInfo.origin}</td>
<td>${flightInfo.flightDate}</td>
<td>${flightInfo.flightTime}</td>
<td><input type="submit" value="Book now" class="btn btn-primary"></td>
</tr>
</c:forEach>
</form:form>
</tbody>
</table>
在此表中,我想在用户点击&#34;立即预订&#34;按钮。这意味着每个人都可以看到此页面,但他们需要登录系统才能预订航班。这是我的security.xml文件。
<http use-expressions="true">
<intercept-url pattern="/users**" access="hasRole('ROLE_ADMIN')" />
<intercept-url pattern="/users/**" access="hasRole('ROLE_ADMIN')" />
<intercept-url pattern="/account**" access="hasRole('ROLE_USER')" />
<intercept-url pattern="/reservation**" access="hasRole('ROLE_USER')" />
<form-login login-page="/login.html"/>
<csrf disabled="true"/>
<logout logout-url="/logout" />
</http>
当他点击&#34时,如何检查用户是否已登录?立即预订&#34;按钮?有没有简单的方法来做到这一点?
答案 0 :(得分:1)
&#34;当他点击&#34;立即预订&#34;时,如何检查用户是否已登录?按钮?有没有简单的方法可以做到这一点?&#34;
按下提交按钮时;表单将发布到您提供的URL(作为POST)示例:
<form action="/myURL" method="POST">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
只需将URL更改为安全xml中受限制的内容即可。 类似的东西:
<intercept-url pattern="/postformURL" access="hasRole('ROLE_USER')" />
然后当它获得formURL的Controller映射时;只有通过春季保安才会到达那里。