根据权限限制对某些页面的访问
Restricting access to some page based on permission
我是学生,刚接触我们的开发。在使用 spring MVC 开发 Web 应用程序时,我遇到了一些奇怪的问题。
我有一些来自数据库的权限。如果我给用户 - "userOne" 到 "createRole" 权限然后 "userOne" 登录后可以在其仪表板上看到 link - "Create Role" 。如果用户点击 "Create Role" link 然后服务器重定向到这个 url - /secure/roleManagement/createNewRole.html。
请注意,如果撤销"createRole"权限则用户无法看到"Create Role"link.但即使在这之后,如果我在浏览器中输入 url - /secure/roleManagement/createNewRole.html 那么我就可以访问创建角色页面,这应该' 出现在用户面前。
那我怎么能隐藏这个呢。我知道提供的信息不足以回答问题,但请提供一些想法。我坚持这个。我听说在这种情况下我可能会使用 spring 授权来拦截 url 请求。但出于学习目的,我们不想使用它。有什么想法吗?
谢谢
我认为解决这个问题的最佳方法是使用 Spring 安全命名空间并添加如下拦截规则:
<intercept-url pattern="/secure/roleManagement/createNewRole"
access="hasRole(createRole)"
/>
但由于您不希望这样,备选方案是:
- 假设有一个控制器处理对
/secure/roleManagement/createNewRole.html
的请求,您可以在开头添加一个验证来检查用户是否具有所需的角色。
- 在一个(或多个)过滤器中创建您的安全逻辑。你可以有一个过滤器来拦截这个特定的 URL,然后为其他 URLs 创建其他过滤器(这可能不是一个好主意,具体取决于你需要的 URLs 的数量handle) 或者你可以用一个安全过滤器来处理所有这些。
备选方案基本上是实现 Spring Security 开箱即用功能的方法。
我是学生,刚接触我们的开发。在使用 spring MVC 开发 Web 应用程序时,我遇到了一些奇怪的问题。
我有一些来自数据库的权限。如果我给用户 - "userOne" 到 "createRole" 权限然后 "userOne" 登录后可以在其仪表板上看到 link - "Create Role" 。如果用户点击 "Create Role" link 然后服务器重定向到这个 url - /secure/roleManagement/createNewRole.html。
请注意,如果撤销"createRole"权限则用户无法看到"Create Role"link.但即使在这之后,如果我在浏览器中输入 url - /secure/roleManagement/createNewRole.html 那么我就可以访问创建角色页面,这应该' 出现在用户面前。
那我怎么能隐藏这个呢。我知道提供的信息不足以回答问题,但请提供一些想法。我坚持这个。我听说在这种情况下我可能会使用 spring 授权来拦截 url 请求。但出于学习目的,我们不想使用它。有什么想法吗?
谢谢
我认为解决这个问题的最佳方法是使用 Spring 安全命名空间并添加如下拦截规则:
<intercept-url pattern="/secure/roleManagement/createNewRole"
access="hasRole(createRole)"
/>
但由于您不希望这样,备选方案是:
- 假设有一个控制器处理对
/secure/roleManagement/createNewRole.html
的请求,您可以在开头添加一个验证来检查用户是否具有所需的角色。 - 在一个(或多个)过滤器中创建您的安全逻辑。你可以有一个过滤器来拦截这个特定的 URL,然后为其他 URLs 创建其他过滤器(这可能不是一个好主意,具体取决于你需要的 URLs 的数量handle) 或者你可以用一个安全过滤器来处理所有这些。
备选方案基本上是实现 Spring Security 开箱即用功能的方法。