登录身份验证过滤器java struts
我有个问题。如何在JavaStruts中过滤多个用户登录 这是我的密码登录身份验证过滤器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
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或过滤类中设置角色?我应该把它放在哪里?