【问题标题】:Apache Shiro : Filter vs Realm, which one to use?Apache Shiro:过滤器与领域,使用哪一个?
【发布时间】:2018-01-25 03:41:33
【问题描述】:

用例:HTTP 上下文,我需要限制对特定会话属性状态的 url 的访问

在自定义过滤器中扩展 AccessControlFilter 的 is* 方法是可行的,但它看起来有点丑:我没有领域。

AFAIK Realms 用于 LDAP、JDBC、INI 后端等。每当我的“领域”实际上是网络绑定时,即 HttpSession 本身就是领域。

  1. 鉴于我在 HttpSession 中拥有所需的信息,我的自定义过滤器是否是正确的保护方法
  2. 如果不是,您将如何将 Realm 绑定到基于 Web 的上下文?像 HttpSession 甚至 HttpServletRequest

【问题讨论】:

    标签: java shiro


    【解决方案1】:

    您应该使用领域来绑定您的用户 [主题],即使您只是从过滤器中传递一些对象(即从会话或 http 标头中提取的信息)

    Realm 是进行身份验证和授权的对象。一般来说,有两种类型的过滤器:构建传递给领域的令牌的过滤器(例如 Form auth、Basic auth 等)和需要某种授权的过滤器(声明一个或多个角色和/或权限)

    【讨论】:

      猜你喜欢
      • 2016-08-13
      • 2018-03-14
      • 2017-03-17
      • 2015-05-31
      • 2014-06-17
      • 2012-09-17
      • 2012-11-06
      • 2012-01-12
      • 1970-01-01
      相关资源
      最近更新 更多