我目前有这个配置
[main]
authc.loginUrl = /login.jsp
authc.usernameParam = user
authc.passwordParam = pass
authc.rememberMeParam = remember
authc.successUrl = /index.jsp
[urls]
/** = authc
/index.jsp = roles[user]
/cards.jsp = roles[user]
/jobs.jsp = roles[admin]
[users]
lol = ba, user
admin = ba, admin
登录有效,但是当我使用lol
用户名登录时,我仍然可以访问/jobs.jsp页面,那么如何阻止用户访问/jobs.jsp页面?
另外,为什么当我删除/** = authc
登录dos不起作用时,它只是在不处理登录的情况下向登录页面发送请求?
在哪里可以找到有关如何使用shiro为基于Web的项目配置角色的权威指南?
答案 0 :(得分:1)
我在哪里可以找到有关如何配置角色的权威指南 使用shiro的基于web的项目?
BalusC上有一篇很棒的帖子,当我将Shiro集成到我的应用程序时,我已经使用过了 http://balusc.blogspot.co.il/2013/01/apache-shiro-is-it-ready-for-java-ee-6.html
关于你的主要问题,你的cfg似乎不对(在角色规范之前缺少密码),请参阅
http://shiro.apache.org/configuration.html#Configuration-%5Cusers%5C
行格式
[users]部分中的每一行必须符合以下格式:
username = password,roleName1,roleName2,...,roleNameN
等号左侧的值是用户名 等号右边的第一个值是用户的密码。密码是必需的。 密码后面的任何逗号分隔值是分配给该用户的角色的名称。角色名称是可选的。