2014-01-28 50 views
0

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

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

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

jdbcRealm = ... 
: 
: 

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

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

当/公/ ** = authc或不久,我可以尝试直接转到页/安全URL下,将正确地采取login.jsp页面。检查。检查。

的用户名和密码login.jsp页面上填写并提交申请表格后,事情打破...

如果/public/** = authc,然后我转到我试图让原来的页面在/安全网址中。所以这是有效的。

如果/public/** = anon,那么login.jsp将被重新加载。我没有发送到我最初尝试访问的/ secure目录中的页面。如果我不为/public/** URL模式输入条目,则会发生同样的情况。

似乎有一些西罗的根本,我失踪。如果您需要查看项目中的其他内容,我已将其上传到BitBucket。

https://[email protected]/tfeinstein/vikos.git

感谢, 托德

回答

0

可以尝试在[主]加

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

/public/pages/login.jsp = authc 

为您的[网址]块的第一线

+0

我把你的建议,以及尝试{authc.successUrl = /secure/pages/User.jsp},但由于某种原因,导致覆盖本地主机/ Vikos /安全/用户的Struts2重定向到一个login.jsp无效的URL路径。 localhost/Vikos/login.jsp而不是localhost/Vikos/secure/pages/login.jsp。 –

+0

在这一点上,看起来Struts2可能存在一些问题,Shiro正在以其他方式获得。 –