首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何防止他人访问仅限管理员用户访问的链接

如何防止他人访问仅限管理员用户访问的链接
EN

Stack Overflow用户
提问于 2013-01-27 23:26:32
回答 3查看 762关注 0票数 1

我使用jstl代码来隐藏必须是access...Now的唯一管理员用户的按钮,例如,我向重定向到deletepage.jsp的普通用户隐藏按钮。我正确地使用了c:if jstl tag...But,它仍然会被普通用户访问,如果他们知道links...How来防止这种情况?

EN

回答 3

Stack Overflow用户

发布于 2013-01-27 23:44:09

使用MVC,您可以让控制器根据访问控制列表(ACL)检查用户的身份,以阻止对受限制页面的访问。此外,为了进一步保护它,您可以对直接访问这些受限制的页面进行额外的检查,这样用户就不能直接请求它们。此建议解决方案的实现细节由您根据自己的设计决定。

票数 0
EN

Stack Overflow用户

发布于 2013-01-28 02:00:32

您可以在web.xml文件中设置filter,然后实现SecurityFilter类。在这个类中,您需要实现函数

代码语言:javascript
运行
复制
public void doFilter(ServletRequest req, ServletResponse res,FilterChain next) throws IOException, ServletException {
}

然后,您可以检查请求的url是否存在当前用户的会话。如果是,您可以将他导航到该页面;否则,只需拒绝并重定向到错误页面

代码语言:javascript
运行
复制
if ("/admin.jsp".equals(httpReq.getServletPath())) {
    if(httpReq.getSession().getAttribute("CurrentUser")!=null) {

        // go to the requested url 
    }
    else {
        httpReq.getRequestDispatcher("/no_access.jsp").forward(httpReq, httpRes);
        return;
    }
}
票数 0
EN

Stack Overflow用户

发布于 2013-01-28 22:34:31

有3种方法可以做到这一点:

1-对每个处理有此问题的调用的servlet进行验证。2-通过过滤器来实现。3-使用任何框架,比如struts。

框架将以适当的方式编写更少的代码。如果你不想要框架,你应该使用过滤器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14548876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档