首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring安全-登录体系结构

Spring安全-登录体系结构
EN

Stack Overflow用户
提问于 2015-11-04 22:15:39
回答 2查看 211关注 0票数 0

我一直在遵循本教程中的示例:https://spring.io/blog/2015/01/28/the-api-gateway-pattern-angular-js-and-spring-security-part-iv

简单地说:

  1. 我有一个名为UI的服务器,它有一些html和角js。
  2. 我有一个名为资源的服务器,它有一个RestController,它正在为来自DB的内容提供服务。所有的呼叫都必须经过认证。

UI服务器有一个登录页面,它与登录一起工作,并创建一个存储在Redis服务器中的spring会话,并将其共享给资源服务器。当我在内存身份验证中有一些虚拟用户时,一切都很好。

的问题是:--我希望我的UI服务器能够对数据库中存在的真实用户执行登录。UI服务器不应该有任何与DB相关的代码(不知道它的存在),但是它应该在资源服务器中调用REST服务。我思考的唯一方法(但听起来不对)是在UI中实现userDetailsService bean,loadUserByUsername方法应该从资源服务器(例如/getUser)调用rest服务。rest服务应该返回所有用户详细信息,包括给定用户名的凭据和角色。然而,据我所知,这个服务不能被保护(为了使调用成功),从而损害整个安全。

我愿意听取所有意见和建议。记住,这是我第一次尝试使用Spring。

提前谢谢你,

尼古拉斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-07 12:49:27

万一有人感兴趣我是怎么处理这件事的。

我决定做一件谨慎的事,学习春天的安全。:)

我的答案是在我的UI服务器中使用一个自定义的rest,它将在资源服务器中调用一个不受保护的rest登录服务,从而根据DB验证用户。

如果响应成功(例如,可以用用户名、密码、角色返回用户对象),那么我将从其中创建一个UsernamePasswordAuthenticationToken对象并返回它。

如果响应是不成功(例如返回对象为null或抛出异常),那么我将返回null或抛出AuthenticationException,这取决于AuthenticationException的行为.我还没有达到那个阶段的学习。

http://docs.spring.io/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#tech-intro-authentication

票数 0
EN

Stack Overflow用户

发布于 2021-07-21 12:37:28

Security是一个功能强大且高度定制的身份验证和访问控制框架。它是保护基于Spring的应用程序的事实上的标准。

Security是一个侧重于向Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Security的真正强大之处在于它能够很容易地扩展以满足自定义需求

对身份验证和授权的全面和可扩展支持

防止攻击,如会话固定、点击劫持、跨站点请求伪造等。

Servlet集成

与Spring的可选集成

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33533116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档