单击按钮

时间:2015-06-01 02:41:25

标签: java spring spring-mvc spring-security

我使用带有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;按钮?有没有简单的方法来做到这一点?

1 个答案:

答案 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映射时;只有通过春季保安才会到达那里。