新手问个关于 权限的问题。。

qunqingkai 2010-10-30 01:02:25
像 编辑 删除 这种。。情况。。

我以前经常用 get 提交。。后面跟个ID 就完了。。

后来 发现 只要有人登陆。。

他可以随便 在URL 后面 手动输入 ID 就可以编辑 删除别人的东西。

以前根本没意识到这个问题。。

大家 一般处理这种问题 是怎么做的呢?有比较好点方法吗?
...全文
105 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
a312983516 2010-10-31
  • 打赏
  • 举报
回复
用自定义拦截器比较好 毕竟过滤器要用于转换类型 负担不小了已经
public class UserInterceptor implements Interceptor {

public void destroy() {

}

public void init() {

}

public String intercept(ActionInvocation invocation) throws Exception {
Map session = invocation.getInvocationContext().getSession();
if (session.get("admin") != null) {
return invocation.invoke();
} else {
if (invocation.getProxy().getActionName().equals("Admin_doLogin")
|| invocation.getProxy().getActionName().equals(
"Admin_toLogin")
|| invocation.getProxy().getActionName().equals(
"Admin_toInitialize")) {
return invocation.invoke();
}
return Action.LOGIN;
}
}
}
yumyy 2010-10-31
  • 打赏
  • 举报
回复
用过滤器验证.
  • 打赏
  • 举报
回复
把你所有的操作都改成post方式,然后再过滤器里获得以下提交方式,如果是post就通过,如果是get就不通过
niu127 2010-10-30
  • 打赏
  • 举报
回复
学习了
qq363207624 2010-10-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kokorenfeng 的回复:]
1.public class AdminFilter extends HttpServlet implements Filter

2.public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TOD……
[/Quote]

正解!
泓博 2010-10-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kokorenfeng 的回复:]
1.public class AdminFilter extends HttpServlet implements Filter

2.public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TOD……
[/Quote]

支持!
yufan_22 2010-10-30
  • 打赏
  • 举报
回复
楼上正解
kokorenfeng 2010-10-30
  • 打赏
  • 举报
回复
1.public class AdminFilter extends HttpServlet implements Filter

2.public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest request = (HttpServletRequest)arg0;
String uri = request.getRequestURI();
if(uri.indexOf("login", 0)>-1){
arg2.doFilter(arg0, arg1);//继续
}
else if(1==2){
System.out.println("判断是不是管理员.");
HttpServletResponse response = (HttpServletResponse)arg1;
response.sendRedirect("login.jsp");
}else{
System.out.println("判断是管理员...请求继续");
arg2.doFilter(arg0, arg1);//继续
}
}

3.于web.xml配置
<!-- FILTER -->
<filter>
<filter-name>AdminFilter</filter-name>
<filter-class>com.accp.web.AdminFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AdminFilter</filter-name>
<url-pattern>/admin/*</url-pattern>
</filter-mapping>
m690192206 2010-10-30
  • 打赏
  • 举报
回复
添加拦截器,进行用户权限的验证,这一般常用的方法
别人家的老公 2010-10-30
  • 打赏
  • 举报
回复
用post方式提交,以及楼上的方法
WANGYQ_412 2010-10-30
  • 打赏
  • 举报
回复
添加过滤器或拦截器验证session。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧