用户首次访问,导航到默认页面

时间:2014-03-28 12:15:15

标签: java spring web.xml

Soory让你感到恶心。其实我的英语很差。我正在使用谷歌app engige开发一个spring应用程序。 1.如果服务器处于运行模式,则第一个如果我尝试登录应用程序。首先它应该导航到 登录页面。 2.如果任何用户想要通过给出页面名称来访问应用程序中的aby页面(例如,如果我有ABC.jsp页面,则在我的应用程序中,如果用户通过提供127.0.0.0:8888/ABC来访问该文件.jsp)它应该导航到包含一些消息的某个默认页面,然后单击此处导航到主页。 现在,您可以告诉我如何在我的应用程序中执行此操作。 你可以告诉我使用Spring MVC,Objectify ORM和谷歌应用引擎实现这一目标的一步一步。

2 个答案:

答案 0 :(得分:1)

还是不太明白你的问题是什么。

将此添加到您的web.xml

  <welcome-file-list>
    <welcome-file>/login</welcome-file>
  </welcome-file-list>
</web-app>

这可确保如果用户仅键入http://server:port,则会将其重定向到http://server:port/login

现在,如果您希望用户也被重定向到登录,如果她键入http://server:port/foobar.html,您调用的&#34;随机页面&#34;,这是不存在的,那么您需要HTTP状态代码映射。

  <error-page>
    <error-code>404</error-code>
    <location>/login</location>
  </error-page>

如果您希望用户在显示任何现有页面之前必须首先进行身份验证(即通过/login),您可以使用Spring Security。简单basic-auth的例子:

<beans:beans xmlns="http://www.springframework.org/schema/security"
             xmlns:beans="http://www.springframework.org/schema/beans"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.3.xsd">

  <!-- HTTP basic authentication in Spring Security -->
  <http>
    <intercept-url pattern="/*" access="ROLE_USER" />
    <http-basic />
  </http>

  <authentication-manager>
    <authentication-provider>
      <user-service>
        <user name="user" password="password" authorities="ROLE_USER" />
      </user-service>
    </authentication-provider>
  </authentication-manager>
</beans:beans>

答案 1 :(得分:0)

您可以使用spring security来执行此操作。看一下 this链接。 http标签应该允许这样做。它将指导用户未经过身份验证的用户的登录页面。示例上下文如下。

<beans:bean id="loginUrlAuthenticationEntryPoint" class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint">
<beans:property name="loginFormUrl" value="/jsp/login.jsp" />
</beans:bean>


<http auto-config="false" use-expressions="true" entry-point-ref="loginUrlAuthenticationEntryPoint">
    <intercept-url pattern="/protected" access="hasRole('ROLE_protected')" />
    <intercept-url pattern="/jsp/login.jsp*" filters="none"/>
    <logout logout-success-url="/jsp/login.jsp" invalidate-session="true" />
    <session-management invalid-session-url="/jsp/login.jsp?timeout=true" />
</http>