Apache Shiro anon过滤器无法正常工作

时间:2014-01-28 03:28:02

标签: apache login filter shiro anonymous

我有一个项目,我正在尝试使用Apache Shiro来实现安全层。在大多数情况下,它似乎工作得很好。到目前为止,我一直在使用“authc”过滤器,并且已按预期工作。但是,我想将login.jsp移动到不具有任何严格安全要求的其他公用文件夹。

以下是相关的shiro.ini文件条目。

shiro.loginUrl = /public/pages/login.jsp

jdbcRealm = ...
:
:

ds = ...
:
:
jdbcRealm.dataSource = $ds

[users]
[roles]
[urls]
/public/**  = anon
/secure/**  = authc
/logout     = logout

当/ public / ** = authc或anon时,我可以尝试直接转到/ secure URL下的页面,并将正确地转到login.jsp页面。校验。检查。

在login.jsp页面上填写用户名和密码并提交表格后,事情就会中断......

如果/public/** = authc,那么我将被带到我试图进入/安全网址的原始页面。这样才有用。

如果/public/** = anon,则会重新加载login.jsp。我没有被发送到我原本试图访问的/ secure目录中的页面。如果我没有为/public/**网址格式添加条目,则会出现同样的情况。

似乎有一些我错过的Shiro基本原理。如果您需要在项目中看到任何其他内容,我已将其上传到BitBucket。

https://tfeinstein@bitbucket.org/tfeinstein/vikos.git

谢谢, 托德

1 个答案:

答案 0 :(得分:0)

您可以尝试添加

authc.successUrl  = "default sucess url for logged in"

在[main]块

/public/pages/login.jsp = authc 

作为[urls]块的第一行