Spring Roo + gvNIX +典型安全性在未登录

时间:2015-10-30 12:48:05

标签: spring-security spring-roo gvnix

我想在有人访问我的网站时显示常规主页(index.jspx)。该站点使用Spring Roo / gvNIX构建并使用典型安全性。

默认情况下,只要用户未登录,就会显示login.jspx页面而不是index.jspx页面,请参阅Petclinic网站的插图https://petclinic-gvnix.rhcloud.com

访问我的网站时,我想欢迎有欢迎的用户和一些一般信息。

我将使用示例gvNIX Petclinic应用程序来说明我的问题。 当您使用https://petclinic-gvnix.rhcloud.com访问此网站时 你得到的将是https://petclinic-gvnix.rhcloud.com/login

登录后,您将进入主页:https://petclinic-gvnix.rhcloud.com。实际上这是index.jspx。

看似简单,却找不到答案。

我做出的改变没有效果:

views.xml

将定义extends =“默认”更改为定义extends =“ public

<definition extends="public" name="index">
    <put-attribute name="body" value="/WEB-INF/views/index.jspx" />
</definition>

已添加到web.xml

<!-- Index -->
<welcome-file-list>
    <welcome-file>index</welcome-file>
</welcome-file-list>

在applicationContext-security.xml中添加以下内容

    <intercept-url access="permitAll" pattern="/index/**" />
    <intercept-url access="permitAll" pattern="/login/**" />

然而它仍然首先进入登录页面。

问题

  1. 如果用户未登录,我怎样才能将index.jspx页面作为默认主页。
  2. 我在哪里可以阅读/获取有关其工作原理的更多信息?
  3. 我读过Ken Rimple和Googled的“Spring in Action”

1 个答案:

答案 0 :(得分:1)

尝试将 root 添加到网址列表:

<intercept-url access="permitAll" pattern="/" />
<intercept-url access="permitAll" pattern="/login/**" />

并还原其他更改

您必须考虑到您为网址定义规则,并且您只允许访问单页

同时确保用户可以访问/resources/**

祝你好运!