Say for example I have a servlet named FooServlet, mapped to /foo.

There are two other servlets named BarServlet and CarServlet, mapepd to /bar and /car, respectively.

Now, if a user does a direct access to www.example.com/foo, they should be rejected. BUT if the request comes from a forward on /bar or /car, I will allow access to /foo.

Is this possible?

有帮助吗?

解决方案

Yes, see this question: Java get referer URI?

You can check the referer header in the request to make sure they are coming from one of your other servlets.

其他提示

You can use the request object to decide. For ex :

Use request.getContextPath() to fetch the "/foo", "/bar" or "/car" and decide whether to allow the access or not.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top