具有Spring安全性的自定义登录页面

时间:2012-05-22 18:01:12

标签: spring spring-security

我正在使用Spring 3.1.0.RELEASE,JSF 2.x,JPA 2和Hibernate Provider进行Web应用程序。我使用PrettyFaces 3.3.2来获得友好的URL。该应用程序在Tomcat 6.35上运行。

使用Spring security 3.1.0.RELEASE限制我在webapp上的页面。

安全应用程式内-context.xml中:

<intercept-url pattern="/home/**" access="hasRole('ROLE_USER')" />

<!-- login -->
<form-login login-processing-url="/login_check" login-page="/login"
    default-target-url="/home" authentication-failure-url="/login?login_error=1"
    authentication-success-handler-ref="frontConnectionHistoryHandler"  />

<access-denied-handler error-page="/accessdenied" />


<!-- logout -->
<logout invalidate-session="true" logout-success-url="/logout_success"
    logout-url="/logout" delete-cookies="JSESSIONID" />

<session-management>
    <concurrency-control max-sessions="1" />
</session-management>

漂亮-config.xml中:

<!-- Login -->
<url-mapping id="login">
    <pattern value="/login" />
    <view-id value="/login.jsf" />
</url-mapping>

<!-- Access denied -->
<url-mapping id="accessdenied">
    <pattern value="/accessdenied" />
    <view-id value="/accessdenied.jsf" />
</url-mapping>

<!-- Logout -->
<url-mapping id="logout">
    <pattern value="/logout" />
    <view-id value="/j_spring_security_logout" />
</url-mapping>

<!-- Logout successed -->
<url-mapping id="logout_success">
    <pattern value="/logout_success" />
    <view-id value="/logout_success.jsf" />
</url-mapping>

大多数时候用户访问webapp如下: http://mysite/home/en/siteId。 URL的最后部分是lang / a站点ID。

但是如果它们没有连接,那么Spring安全性会在登录页面上重定向它们。

我想在登录页面上显示特殊元素,具体取决于所询问的网址:最后一个参数en/siteId(lang和网站ID)

例如,我想根据网站ID在登录页面中显示徽标。

我怎么能这样做?

0 个答案:

没有答案