質問があります。Javaストラットでログインするために複数のユーザーをフィルタリングする方法は?
ここに私のコードがあります
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>
役割 (管理者とユーザー) を区別する方法。管理者とユーザーがアクセスできるページを区別します。私のコードでは、ログインしていない場合にのみフィルタリングでき、管理者ユーザーに直接アクセスできるためです。たとえば、管理者にログインした後もアクセスできます
/InternetBanking/pembayaranKartuKredit.do?task=クレジットカード
誰でも助けることができますか?ありがとう:)