前两天刚好写了一篇blog关于这个问题的用struts (webwork) 的action配置文件和ant进行权限配置
解决方案 »
- openflashchart
- j2EE服务器是怎样调用类的
- 在线求助`~有关JAVA~~SERVLET的
- s:generator 取值的问题
- 用jbuilder x+weblogic8.1RUN时出错,费解,请各位帮忙分析
- EJB问题高分请教!!急!CMR的外键可不可以再加入到CMP中?我用的是Websphere!
- 急!!!!stuts 页面提交后 转到另一个页面 页面bean没有重新载入,无法显示正确结果
- 请问struts中的JSP中的复选框怎么定义?
- 请问在tomcat下可以部署ejb吗?怎样部署?谢谢!
- 新手,help.....50分相送。
- 在struts中配置form提交表单(带参数)的问题!
- Acegi 中的角色必须以ROLE_开始吗
权限是要每处都判断的,不只是登陆时判断。
如果你还没有开始实现你的系统,那么在开始之前就要设计好权限相关的模块和控制的模式,如果你已经有一个现成的系统,那么最好也整理一下你现有的系统,把需要管理和限制的东西分类,并查找规律。>>对于第一个问题:关于怎么限制用户非法登陆。
这个其实不难,只要做一个session控制,对每一个session做合法验证就可以了>>第二个问题是 如果一个公司内部的员工用自己的账号登陆进去了,他知道别人的操作页面地址(它自己由于权限不够访问不到的页面)。怎么样来限制,使它不能操作没有权限访问的界面
这就是要控制URL了,最好是对这种页面做一个分类(可以按角色或者功能模块),然后在访问的地方增加逻辑控制。比如可以扩展struts里的controller,增加自己的控制逻辑,这样对所有的链接访问都能控制了。
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) arg0;
String uri = request.getRequestURI();
if (uri.indexOf("loginAction_operateBeforeLogin.action")>0
||uri.indexOf("loginAction_login.action") > 0
|| uri.indexOf("loginAction_logout.action") > 0
||uri.indexOf("loginAction_searchCounterInfoByUserIdAndPwd.action")>0
||uri.indexOf("loginAction_updateUserPwd.action")>0)
{
// TODO:do nothing currently
} else if (uri.indexOf(".action") >= 0) {
HttpSession session = request.getSession(true);
if (session == null) {
if (log.isDebugEnabled()) {
log.debug("session invalid");
}
// System.out.println("session invalid");
} else {
if (log.isDebugEnabled()) {
log.debug("session valid:" + session.getId());
}
} if (session.getAttribute("userInfo") == null) {
HttpServletResponse response = (HttpServletResponse) arg1;
response.sendRedirect(request.getContextPath() + "/login.jsp");
return;
} else {
}
}
super.doFilter(arg0, arg1, chain);
}
http://howsun.blog.sohu.com/106725713.html