SignInPage没有看到用户名和密码

时间:2017-12-04 19:02:10

标签: wicket

我尝试使用ServletContainerAuthenticatedWebApplication实现登录,并将Wicket中的默认SignInPage注册为登录页面。到目前为止一切正常,当我尝试访问受保护的资源时,它会将我重定向到登录页面,但我无法登录,因为SignInPanel内的用户名和密码字段始终为null,无论我在浏览器中输入的内容是什么。我试用了Wicket 8.0.0-M8和Wicket 7.9.0。一些帮助将在此时受到赞赏。

    public class HelloWorldApplication extends ServletContainerAuthenticatedWebApplication
{
    private static String EJB_PROJ_NAME = "rezerva_masa_ejb";

    public HelloWorldApplication()
    {
    }

    @Override
    public void init()
    {
        super.init();
        getComponentInstantiationListeners().add(new JavaEEComponentInjector(this, new AppJndiNamingStrategy(EJB_PROJ_NAME)));
    }   

    @Override
    public Class getHomePage()
    {
        return HelloWorld.class;
    }

    @Override
    protected Class<? extends ServletContainerAuthenticatedWebSession> getContainerManagedWebSessionClass()
    {
        return ServletContainerAuthenticatedWebSession.class;
    }

    @Override
    protected Class<? extends WebPage> getSignInPageClass()
    {
        return SignInPage.class;
    }
}

的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>RezervaMasa</display-name>
    <filter>
        <filter-name>HelloWorldApplication</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
          <param-name>applicationClassName</param-name>
          <param-value>ro.rezervamasa.main.HelloWorldApplication</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>HelloWorldApplication</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>  
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>

    <context-param>
        <param-name>configuration</param-name>
        <param-value>development<!-- deployment --></param-value>
    </context-param>

    <login-config>
        <auth-method>FORM</auth-method>
        <realm-name>ApplicationRealm</realm-name>
        <form-login-config>
            <form-login-page>/login.html</form-login-page>
            <form-error-page>/login.html</form-error-page>
        </form-login-config>
    </login-config>

    <security-role>
        <role-name>view_users</role-name>
    </security-role>
    <security-role>
        <role-name>create_users</role-name>
    </security-role>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>All pages</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>view_users</role-name>
            <role-name>create_users</role-name>
        </auth-constraint>
    </security-constraint>
</web-app>

0 个答案:

没有答案