Shiro Spring JDBCRealm 身份验证和授权

发布于 2024-12-05 02:40:59 字数 684 浏览 6 评论 0 原文

想法

我需要使用 Spring MVC 和 Shiro 作为安全框架来开发一个 Web 应用程序。

要求

将用户名、密码、角色等存储在数据库中。数据库架构:

authorities[id, authorty_name] 
role[id, role_name] 
role_authorities_map[authority.id, role.id] 
user[id, username, password] 
user_rol_map[user.id, role_id]

密码应在表中进行散列和加盐处理。

Web 应用程序中的 Shiro Filter 应该是 DeligatingFilterProxy 以利用 Spring 的配置机制

除 /login 之外的所有请求都应该进行身份验证,例如,

/** = authc
/login = anon
/admin/** = authc, admin

如果身份验证成功,框架应路由到 /dashboard

所有的 URL 都由名为 MainController 的 Spring 控制器处理。

问题

我们如何解决上述需求?什么配置对应什么文件?

请帮忙。

Idea

I need to develop a web application using Spring MVC with Shiro as Security Framework.

Requirements

The usernames, passwords, roles etc to be stored in a database. Database Schema:

authorities[id, authorty_name] 
role[id, role_name] 
role_authorities_map[authority.id, role.id] 
user[id, username, password] 
user_rol_map[user.id, role_id]

The Password should be hashed and salted in the table.

Shiro Filter in web application should be DeligatingFilterProxy to utilize Spring's configuration mechanisms

All requests should be authenticated except /login, e.g.

/** = authc
/login = anon
/admin/** = authc, admin

If the authentication is successful, the framework should route to /dashboard

All URLs are processed by Spring Controller called MainController

Problem

How do we solve above requirements? What configuration goes to what file?

Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文