如何在java中实现url身份验证,以便只有授权用户才能访问它

时间:2013-07-08 11:06:47

标签: java jsp servlets

如何保护我的网址(例如:-youtube.com),以便只有被授权访问此网址的人才能解密并获取访问权限。未经授权的人员应该收到一条消息"访问被拒绝"。

                   **I need no login page**

如果我提供某个用户的链接,那么该用户只能点击该链接并使用它,其他任何用户都无法访问该链接。

1 个答案:

答案 0 :(得分:-1)

由于您正在使用servlet容器,因此ServletFilter可能就是您想要使用的。

以下是一些可以帮助您入门的建议:

  • 您需要在web.xml中声明servlet过滤器以使其适用。 (过滤器和过滤器映射标签)
  • 您需要(当然)Filter的实现来做出选择
  • 如果请求未获得授权,请将其重定向到错误页面,或发送未经授权的http。

这是Filter的javadoc: http://docs.oracle.com/javaee/5/api/javax/servlet/Filter.html

public class ExampleFilter extends SomeBaseClass {
   public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
     if (aRequest instanceof HttpServletRequest) {
       if (!isAuthorizedRequest(aRequest)) {
         ((HttpServletResponse)aResponse).setStatus(HttpServletResponse.SC_FORBIDDEN); 
         // Maybe write a "you are not allowed" message?
         return;
       }
     }
     chain.doFilter(aRequest, aResponse);
   }
   public boolean isAuthorizedRequest(ServletRequest rq) {
     // ...
   }
}