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