最近弄spring_security3进行权限管理,但是数据库URL模糊匹配有点问题

chaohua20 2011-10-29 09:56:29
最近弄spring_security3进行权限管理,但是数据库URL模糊匹配有点问题。我也不知道为什么
比如我的url是这样的http://localhost:8080/TEST/BlackAdmin/newsSectionAction_newsBrowseClumns.action

我数据库里面存入/BlackAdmin/newsSectionAction_newsBrowseClumns.action 这个可以拦截的到
但是我要是存入 /BlackAdmin/** 或者/BlackAdmin/*? 或者/BlackAdmin/*$ 这些都没有用

求大侠帮忙解答下!
...全文
459 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wad12302 2014-03-13
  • 打赏
  • 举报
回复
这个确实是个问题。 因为好多系统都是 自定义权限系统,把菜单URL存入数据库直接查询,这样只能说是对于部分固定功能的菜单有用 比如 某个前缀的都具有这个权限 /BlackAdmin/newsSectionAction_newsBrowseClumns.action 和 /BlackAdmin/newsSectionAction_× 万一后面有几百个后缀的,那不是数据库都要输入几百条纪录? 怎么解决这样的问题。 能使得 固定URL 和 某部分符合的 url 也一样受约束
niaoren212121 2013-10-12
  • 打赏
  • 举报
回复
兄弟问题解决了吗 我也碰到同意问题 说一下解决办法
fainfy 2011-10-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 chaohua20 的回复:]

那如果是不定项带个参数呢? 那样?id=1
或者别人在后面加个参数就拦截不了了
[/Quote]

这个默认也是被忽略的,不过楼主可以自定义匹配规则来完成这个功能。
不过这个功能好像没有太大的实际用处。
www.baidu.com你也可以这样来访问www.baidu.com?baidu。用户可以手动修改URL。
chaohua20 2011-10-31
  • 打赏
  • 举报
回复
所以这个参数匹配不了啊 !而且如果我想匹配一个文件夹后面所有的那该怎么办啊
chaohua20 2011-10-30
  • 打赏
  • 举报
回复
那如果是不定项带个参数呢? 那样?id=1
或者别人在后面加个参数就拦截不了了
fainfy 2011-10-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 chaohua20 的回复:]
最近弄spring_security3进行权限管理,但是数据库URL模糊匹配有点问题。我也不知道为什么
比如我的url是这样的http://localhost:8080/TEST/BlackAdmin/newsSectionAction_newsBrowseClumns.action

我数据库里面存入/BlackAdmin/newsSectionAction_newsBrowseClumn……
[/Quote]

你在数据库里面当然不能存储带通配符的URL啦。不能就是不能,楼主倒过来想想就知道了。
chaohua20 2011-10-30
  • 打赏
  • 举报
回复
在网上看到这个 path-type="regex" 在HTTP配置中加上这个可以实现正则匹配
但是我加上去了只有硬编码中的可以
写入数据库中的还是匹配不了
chaohua20 2011-10-29
  • 打赏
  • 举报
回复
我的HTTP配置

<http auto-config="true" access-denied-page="/error/accessDenied.jsp" >

<!-- 不要过滤图片等静态资源 -->
<intercept-url pattern="/**/*.jpg" filters="none" />
<intercept-url pattern="/**/*.png" filters="none" />
<intercept-url pattern="/**/*.gif" filters="none" />
<intercept-url pattern="/**/*.css" filters="none" />
<intercept-url pattern="/**/*.js" filters="none" />

<!-- 登录页面和忘记密码页面不过滤-->
<intercept-url pattern="/login.jsp" filters="none" />
<intercept-url pattern="/jsp/forgotpassword.jsp"
filters="none" />

<!--登录页面错误-->
<form-login login-page="/login.jsp"
authentication-failure-url="/login.jsp?error=true"
default-target-url="/index.jsp" />

<logout invalidate-session="true"
logout-success-url="/"
logout-url="/j_spring_security_logout"/>

<!-- 检测失效的sessionId,超时时定位到另外一个URL-->
<session-management invalid-session-url="/error/sessionTimeout.jsp" />

<!--增加一个自定义的filter,放在FILTER_SECURITY_INTERCEPTOR之前, 实现用户、角色、权限、资源的数据库管理。-->
<custom-filter ref="onionPortalSecurityFilter" before="FILTER_SECURITY_INTERCEPTOR" />

</http>

67,511

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧