我是学生,也是我们发展的新手。当我使用spring MVC开发Web应用程序时,我遇到了一个奇怪的问题。
我有一些来自数据库的权限。如果我将用户 - “userOne”提供给“createRole”权限,那么“userOne”会在登录后在其信息中心上看到一个链接 - “创建角色”。如果用户点击“创建角色”链接,则服务器会重定向到此网址 - /secure/roleManagement/createNewRole.html 。
请注意,如果撤消“createRole”权限,则用户将无法看到“创建角色”链接。但即便如此,如果我在浏览器中输入网址 - /secure/roleManagement/createNewRole.html ,我就可以访问创建角色页面,该页面不应该出现在用户面前。
那我怎么能隐藏这个呢。我知道所提供的信息不足以回答,但请提出一些想法。我坚持这个。我听说在这种情况下我可以使用spring授权拦截url请求。但出于学习目的,我们不想使用它。有什么想法吗?
由于
答案 0 :(得分:1)
我认为解决这个问题的最佳方法是使用Spring Security命名空间并添加如下的拦截规则:
<intercept-url pattern="/secure/roleManagement/createNewRole"
access="hasRole(createRole)"
/>
但是既然你不想要那个,那么替代方案就是:
/secure/roleManagement/createNewRole.html
的请求,您可以在开头添加一个验证用户是否具有所需角色的验证。替代方案基本上是实现Spring Security提供的开箱即用的方法。