Shiro自定义领域限制简单身份验证给某些用户

时间:2016-06-11 03:01:14

标签: shiro

我使用Shiro并拥有自定义领域。我的应用程序在数据库中有许多用户,我还希望支持非用户进程帐户以进行API访问。在我的领域,我实施了:

for (int i = 0; i < n; ++i) { new_data[i] = data[sort_order[i]]; }

public boolean supports(AuthenticationToken at)

protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken)

这很好用,我们有一个登录表单并处理UN /密码没问题。

我想允许某些用户能够使用基本的HTTP身份验证,其余的则使用已经工作的表单身份验证。我可以设置INI以允许任何一种方法,但我不知道如何实现对领域中使用的类型身份验证的检查。

如果我通过HTTP标头验证了非api用户的登录尝试,我想拒绝该请求。

如何执行此操作,编写过滤器并检查HTTP标头是我能想到的唯一方法。

1 个答案:

答案 0 :(得分:0)

我做了以下工作来完成这项工作:

  • 添加&#34; api&#34;对某些用户的角色
  • 为我想要公开的REST端点创建另一个(19,4) 类并将其Application设置为ApplicationPath
  • 限制shiro.ini文件中/api的{​​{1}}路径

这很有效。以下是详细信息:http://blog.mikeski.net/blog_post/470