登录身份验证过滤器java struts

登录身份验证过滤器java struts,java,authentication,login,filter,struts1,Java,Authentication,Login,Filter,Struts1,我有个问题。如何在JavaStruts中过滤多个用户登录 这是我的密码 LoginFilter.java public class LoginFilter implements Filter { private FilterConfig config = null; public void destroy() { // TODO Auto-generated method stub config = null; } publ

我有个问题。如何在JavaStruts中过滤多个用户登录

这是我的密码

LoginFilter.java

public class LoginFilter implements Filter {

    private FilterConfig config = null;

    public void destroy() {
        // TODO Auto-generated method stub
        config = null;
    }

    public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain) throws IOException, ServletException {
        // TODO Auto-generated method stub
        HttpServletRequest req = (HttpServletRequest)request;
        HttpSession session = req.getSession(true);

        String cek;
        if(session.getAttribute("idNasabah") != null){
            cek = session.getAttribute("idNasabah").toString();
        }else if(session.getAttribute("idStaff")!= null){
            cek = session.getAttribute("idStaff").toString();
        }else{
            cek = null;
        }

        if(cek== null){
            req.getRequestDispatcher("login.do").forward(request, response);
        }else{
            chain.doFilter(request, response);
        }
    }

    public void init(FilterConfig config) throws ServletException {
        // TODO Auto-generated method stub
        this.config = config;
    }

}
下面是web.xml

<filter>
    <filter-name>LoginFilter</filter-name>
    <filter-class>filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>LoginFilter</filter-name>
    <servlet-name>action</servlet-name>
</filter-mapping>
<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
        <param-name>config</param-name>
        <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
        <param-name>debug</param-name>
        <param-value>2</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>

逻辑过滤器
filter.LoginFilter
逻辑过滤器
行动
行动
org.apache.struts.action.ActionServlet
配置
/WEB-INF/struts-config.xml
调试
2.
2.
行动
*.做
如何区分角色(管理员和用户)。区分管理员和用户可以访问的页面。因为使用我的代码,只能在未登录时进行筛选,同时仍然可以直接访问管理员用户。例如,我登录到管理员,然后我仍然可以访问

/互联网银行/pembayaranKartuKredit.do?任务=信用卡


有人能帮忙吗?萨克斯:)

不清楚你想做什么。如果你需要比简单的“你是idNasabah或idStaff”更复杂的过滤,那么就添加它。有很多方法可以做到这一点;检查注释、标记接口、方法名称;使用Spring安全性;我正在使用Struts和过滤类(LoginFilter.java)。我想根据角色对用户仅访问指定页面进行限制。问题是,当我未登录时,无法通过路径直接访问页面,但如果我已登录,角色无法区分我可以/不能访问哪个页面。例如:我有两个角色,管理员和用户。当我使用管理员角色登录时,我仍然可以通过路径直接访问用户的页面,这是不应该访问的。如何在web xml或过滤类中设置角色?我应该把它放在哪里?