Java 春假与西罗

Java 春假与西罗,java,spring,rest,spring-mvc,shiro,Java,Spring,Rest,Spring Mvc,Shiro,我正在构建两个独立的项目,使用Spring4.0的Rest服务和使用ZK和spring的动态网站 我想保护Rest服务和网站,因此用户需要在浏览网站或请求Rest服务之前获得授权 我想知道我们是否可以有一个地方进行授权,这是可能的,以及如何在两个网站之间共享用户身份 我在想Shiro 有什么想法吗 溴 Shahbour查看Spring Security,它非常容易与Spring集成(顾名思义)。至于如何让用户在两个应用程序之间保持登录,有几个选项。最简单的可能是拥有一个中央数据库,其中存储了两个

我正在构建两个独立的项目,使用Spring4.0的Rest服务和使用ZK和spring的动态网站

我想保护Rest服务和网站,因此用户需要在浏览网站或请求Rest服务之前获得授权

我想知道我们是否可以有一个地方进行授权,这是可能的,以及如何在两个网站之间共享用户身份

我在想Shiro

有什么想法吗


Shahbour

查看Spring Security,它非常容易与Spring集成(顾名思义)。至于如何让用户在两个应用程序之间保持登录,有几个选项。最简单的可能是拥有一个中央数据库,其中存储了两个应用程序都可以访问的用户信息。将Spring安全性添加到两个应用程序中。Web应用程序将要求用户进行身份验证,然后在调用REST服务时提供当前用户的用户名/密码。REST服务将接受用户名/密码并再次验证用户。如果您希望在没有Web UI的情况下直接使用REST服务,这种方法也会起作用。

您好,集中式数据库已经存在,但我对建议的解决方案的问题是:1)我必须保存密码才能在每个请求中使用它,这似乎有风险,或者不推荐使用。2)对于每个Rest请求,我都必须重新进行身份验证。我想看看我是否可以共享安全管理器,或者在SpringSecurity中有什么等效的东西。溴Shahbour@Shahbour-1)为什么说为每个请求提供身份验证是“有风险的还是不推荐的?”2)构建可扩展站点/服务的方法很多。你所做的听起来像是将你的应用程序拆分成组件。你的网站将必须保持状态,没有办法绕过它,否则它会忘记用户是谁从一页到另一页。但是您的rest服务应该是无状态的,这使它能够更好地扩展。它收到一个请求,完成它,忘记你。你好,当我谈到风险和不推荐时,我的意思是保存密码并在每次请求时发送它。至于rest,rest服务是非常合乎逻辑的。