Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 阻止与Access Manager的连接_Spring_Servlet Filters_Web.xml_Openam - Fatal编程技术网

Spring 阻止与Access Manager的连接

Spring 阻止与Access Manager的连接,spring,servlet-filters,web.xml,openam,Spring,Servlet Filters,Web.xml,Openam,GlassFish、策略代理、OpenAM、Spring门户: 我的任务是阻止某些被阻止的用户访问access manager(用户通过使用门户动态被阻止),这样他们就无法连接到它并使AM过载。在谷歌搜索了一番之后,我明白了我需要在策略代理步骤中阻止访问access manager(可能是我错了),我发现可以在web.xml中添加过滤器 因此,我添加了自定义过滤器,将被阻止的用户重定向到另一个页面: <filter> <filter-name>denyBlocke

GlassFish、策略代理、OpenAM、Spring门户:

我的任务是阻止某些被阻止的用户访问access manager(用户通过使用门户动态被阻止),这样他们就无法连接到它并使AM过载。在谷歌搜索了一番之后,我明白了我需要在策略代理步骤中阻止访问access manager(可能是我错了),我发现可以在web.xml中添加过滤器

因此,我添加了自定义过滤器,将被阻止的用户重定向到另一个页面:

<filter>
    <filter-name>denyBlockedUsers</filter-name>
    <filter-class>some.portal.servlets.DenyBlockedUsers</filter-class>
</filter>

<filter-mapping>
    <filter-name>denyBlockedUsers</filter-name>
    <url-pattern>/locked/*</url-pattern>
</filter-mapping>

denyBlockedUsers
some.portal.servlets.DenyBlockedUsers
denyBlockedUsers
/锁定/*
一切正常

对于AM,我有一个过滤器:

<filter>
    <filter-name>Agent</filter-name>
    <filter-class>com.sun.identity.agents.filter.AmAgentFilter</filter-class>
</filter>

代理人
com.sun.identity.agents.filter.AmAgentFilter

问题:在使用此筛选器之前,它是否真的无法连接到Access manager?我怎么检查?日志?

筛选一个您可以执行以下操作

如果请求来自被阻止的用户,则第一个筛选器本身可以转发到另一个错误页面,如blockeduser.jsp,否则转发到筛选器2(/agent/*)


denyBlockedUsers
some.portal.servlets.DenyBlockedUsers
代理人
com.filters.Filter2
denyBlockedUsers
/锁定/*
代理人
/代理人/*

如果“Access Manager”是OpenAM,则不能在同一容器中运行AgentFilter

通常,“访问管理器”执行身份验证。。。所以你可以阻止你不认识的人?要知道某人的身份,必须执行身份验证

不过,您可以详细解释您的用例

<filter>
    <filter-name>
      denyBlockedUsers
    </filter-name>
    <filter-class>
      some.portal.servlets.DenyBlockedUsers
    </filter-class>
  </filter>

  <filter>
    <filter-name>
      Agent
    </filter-name>
    <filter-class>
      com.filters.Filter2
    </filter-class>
  </filter>


  <!-- Map the filter to a Servlet or URL -->

  <filter-mapping>
    <filter-name>
      denyBlockedUsers
    </filter-name>
    <url-pattern>
      /locked/*
    </url-pattern>
  </filter-mapping>

  <filter-mapping>
    <filter-name>
      Agent
    </filter-name>
    <url-pattern>
      /agent/*
    </url-pattern>
  </filter-mapping>