SEAM中的基本身份验证

时间:2009-10-05 17:07:14

标签: java-ee seam

我想在SEAM中做一个基本的身份验证器处理程序。 我把它放在components.xml

    <web:authentication-filter url-pattern="/test/resource/rest/*" auth-type="basic"/>

我还放了web.xml过滤器:

<servlet>
    <servlet-name>Rest Servlet</servlet-name>
    <servlet-class>test.BasicAuthenticationServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>Rest Servlet</servlet-name>
    <url-pattern>/test/resource/rest/*</url-pattern>
</servlet-mapping>

我创建了一个BasicAuthenticationServlet类,如:

public class BasicAuthenticationServlet extends AuthenticationFilter {

public void doFilter(final HttpServletRequest request,
            final HttpServletResponse response, FilterChain chain){
//some code here
}

chain.doFilter(request, response){
//some code here
}

}

所以我覆盖了doFilter方法。

现在,我不明白为什么它不起作用? 我找不到基本身份验证的任何代码示例。在SEAM,整个互联网(我的意思是代码包括过滤器和类;所以我可能会错过我的代码中的一些东西?)

2 个答案:

答案 0 :(得分:3)

我已经使用

实现了它
<web:authentication-filter url-pattern="*.seam" auth-type="basic"/>
<security:identity authenticate-method="#{authenticator.authenticate}"/>

而不是servlet。

在authenticate方法中,取用户并传递如下:

final String username = identity.getCredentials().getUsername();
  final String password = identity.getCredentials().getPassword();

答案 1 :(得分:0)

为什么你不想在Seam way中实现它?