Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不使用用户密码的Spring安全自定义验证

不使用用户密码的Spring安全自定义验证
EN

Stack Overflow用户
提问于 2017-07-19 08:56:17
回答 2查看 1.4K关注 0票数 0

我想知道在Security中是否有可能锁定rest的所有端点,并通过在不使用用户名和密码的情况下进行自定义验证来进行登录。

这就像创建一个自定义验证方法,它接收令牌而不是用户/传递。然后,该方法将使用已经验证调用方的第三方验证令牌。

对于OAuth2来说,这听起来很熟悉,因为后端API需要在春季前实现安全,同时它不是OAuth2客户机:

  1. 我们正在构建一个登录功能。
  2. 我们有一个客户端(移动应用程序)、后端(REST类似于终结点Spring )和一个用于OAuth2/OpenIdConnect流的AuthProvider。
  3. OAuth/OpenIDConnect流只发生在移动设备和OpenIDProvider之间。(从移动到后端进行初始呼叫,为oauth流提供一些详细信息)
  4. 一旦授权成功,移动应用程序就会接收到一个auth_code,只有这样,应用程序才会将后端调用为"Login“,这意味着验证auth_code、交换access_token和创建用户会话。(我们需要一次会议)。
  5. 正如您所看到的,后端类的“登录”只需要接收auth_code,并在创建会话之前使用AuthProvider对其进行验证。

非常感谢!

如有任何评论或参考,我们将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-19 14:15:47

Security通过查看SecurityContext中的SecurityContextHolder来确定用户是否经过身份验证。这意味着您可以使用以下方法验证用户的身份:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
boolean userIsAuthenticated = ...
if(userIsAuthenticated) {
    Authentication request = new UsernamePasswordAuthenticationToken(name, password);
    Authentication result = ...
    SecurityContext context = SecurityContextHolder.createEmptyContext();
    context.setAuthentication(result);
    SecurityContextHolder.setContext(context);
}
票数 1
EN

Stack Overflow用户

发布于 2017-07-19 10:30:21

Security是一个非常灵活的框架,它发布各种接口,允许用户根据需要定制行为。

我推荐以下资源来学习如何做到这一点:

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

https://stackoverflow.com/questions/45196658

复制
相关文章
Apache安全-用户登录验证
当用户访问网站或者网站某个目录时,如果希望用户提供授权才能登录,那么就需要针对该站或者该目录设置登录验证了。apache提供了该功能,可以让我们针对站点或目录设置登录验证。这样用户访问网站时需要提交账号密码才能登录。
星哥玩云
2022/09/15
1.1K0
PHP学习-验证用户名密码
登录页:login.php 1 <?php 2 //登录 3 if(!isset($_POST['submit'])){exit('非法访问!');} 4 $username = $_POST
小古哥
2018/03/08
2.9K0
redis 配置密码验证_spring redis配置
1.通过配置文件进行配置 yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到
全栈程序员站长
2022/10/03
2.1K0
OpenV**使用用户名密码验证
> 如果无法下载就把下面的内容拷贝到一个文件中,然后改名为checkpw.sh即可
孤鸿
2022/10/04
1.2K0
如何存储用户的密码才能算安全?
前段时间将一个集成了 spring-security-oauth2 的旧项目改造了一番,将 springboot 升级成了 springboot 2.0,众所周知 springboot 2.0 依赖的是 spring5,并且许多相关的依赖都发生了较大的改动,与本文相关的改动罗列如下,有兴趣的同学可以参考:Spring Security 5.0 New Features 。其中一个比较有意思的改动---- Spring Security 5.0 重构了密码编码器的实现(Password Encoding,由于大多数 PasswordEncoder 相关的算法是 hash 算法,所以本文将 PasswordEncoder 翻译成‘密码编码器’和并非‘密码加密器’),引起了我兴趣官方称之为
kirito-moe
2018/07/25
1.4K0
如何存储用户的密码才能算安全?
什么叫给密码“加盐”?如何安全的为你的用户密码“加盐”?
在面对这个网络世界的时候,密码安全总是各个公司和用户都非常关心的一个内容,毕竟现在大家不管是休闲娱乐还是学习购物都是通过网上的帐号来进行消费的,所以我们通常会给用户的密码进行加密。在加密的时候,经常会听到“加盐”这个词,这是什么意思呢?
硬核项目经理
2020/06/01
8.8K0
python--学习--用户名和密码验证
#!/usr/bin/python3 user='whoooo' password="1234567" name=input("请输入用户名:") namepasswd=input("请输入密码:") count1=1 count2=1 while name!=user : print("careful ,you can only input 3 times,you have already iput ",count1,"times") if count1<3: name=input("请输入用户名:")
py3study
2020/01/08
3.2K0
提升Oracle用户密码的安全性的技巧
客户需求:主要背景是数据库中有很多业务用户名,且由于部分用户缺乏安全意识,甚至直接将自己的密码设置为和用户名一样,目前客户期望密码设置不要过于简单,最起码别和用户名一致或相似就好。
星哥玩云
2022/08/16
4170
ActFramework中存储与验证用户密码的机制与应用
@oschina的这篇博客详细讲述了保护密码的机制. 作为应用程序开发者理解这些原理是非常重要的, 但是没有理由在每个项目中依据文中所述去实现自己的保护机制, 框架应该在这方面做出足够的支持. ActFramework提供简单有效的API来帮助用户处理安全性问题, 其中包括了密码保护与验证. 下面的代码演示如何在应用中使用框架提供的机制: 代码演示 public class User { private String email; // 保存password hash而不是明文 pr
老码农
2018/06/27
8760
springsecurity自定义密码验证_数字图形验证码怎么填
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/29
5200
如何在Python中实现安全的密码存储与验证
在现代互联网时代,安全性已经成为一个非常重要的问题。在我们的日常生活中,我们会使用许多网站和应用程序,而这些网站和应用程序通常要求我们提供密码来保护我们的个人信息。然而,密码泄露事件时有发生,我们经常听到关于黑客攻击和数据泄露的新闻。那么,如何在Python中实现安全的密码存储与验证呢?本文将向你介绍一些实际的操作和技术。
华科云商小徐
2023/09/27
1.5K0
如何安全传输与存储用户密码?
我们开发网站或者APP的时候,首先要解决的问题,就是「如何安全传输和存储用户的密码」。一些大公司的用户数据库泄露事件也时有发生,带来非常大的负面影响。因此,如何安全传输存储用户密码,是每位程序员必备的基础。本文将跟大家一起学习,如何安全传输存储用户的密码。
macrozheng
2021/01/08
1.3K0
如何安全传输与存储用户密码?
Django 自带密码加密,自定密码加密方式 及自定义验证方式
在django1.6中,默认的加密方式是pbkdf_sha256,具体算法不表,一直以来用django的自带用户验证都十分顺手,今天有需求,需要修改默认加密方式为md5,具体方法为: 在settings.py中加入 PASSWORD_HASHERS = (   'myproject.hashers.MyMD5PasswordHasher',   'django.contrib.auth.hashers.MD5PasswordHasher',   'django.contrib.auth.hash
用户1214487
2018/01/24
4.5K0
js 验证用户名和密码是否为空
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'userValidate.jsp' starting page</title> <script type="text/javascript">
week
2018/08/27
5.5K0
MongonDB开启权限验证及设置用户名密码
MongoDB配置 port=27017 dbpath=/mongodb/data logpath=/mongodb/log/mongodb.log pidfilepath=/mongodb/mongo.pid # 以守护进程的方式运行MongoDB,创建服务器进程 fork=true # 使用追加的方式写日志 logappend=true # 设置每个数据库将被保存在一个单独的目录 directoryperdb=true # 启用验证 #auth=true httpinterface=tru
茶半香初
2021/11/26
1.4K0
技巧:如何提升Oracle用户密码的安全性
环境:Oracle 11.2.0.4 客户需求:主要背景是数据库中有很多业务用户名,且由于部分用户缺乏安全意识,甚至直接将自己的密码设置为和用户名一样,目前客户期望密码设置不要过于简单,最起码别和用户名一致或相似就好。 1.官方解决方案 2.删减版解决方案 3.测试验证方案 4.用户最近一次的登录时间 1.官方解决方案 实际上Oracle提供有一个非常好用的安全校验函数,来提升用户密码的复杂性。这个在之前的文章《Oracle 11g 安全加固》中的“1.8.数据库密码安全性校验函数”章节就已经有了确切的解
Alfred Zhao
2018/05/11
7010
Spring Security 自定义用户认证
在 Spring Boot 集成 Spring Security 这篇文章中,我们介绍了如何在 Spring Boot 项目中快速集成 Spring Security,同时也介绍了如何更改系统默认生成的用户名和密码。接下来本文将基于 Spring Boot 集成 Spring Security 这篇文章中所创建的项目,进一步介绍在 Spring Security 中如何实现自定义用户认证。
阿宝哥
2019/11/15
1.4K0
Spring Security 实战干货:如何保护用户密码
上一文我们对Spring Security中的重要用户信息主体UserDetails进行了探讨。中间例子我们使用了明文密码,规则是通过对密码明文添加{noop}前缀。那么本节将对 Spring Security 中的密码编码进行一些探讨。
码农小胖哥
2019/12/05
8810
redis如何设置密码及验证密码_redis如何设置密码及验证密码
在百度云安装redis服务之后,一直给我发送系统安全警告,推荐我redis设置访问密码,于是出于安全考虑我就设置一下redis的密码
全栈程序员站长
2022/10/04
7.9K0
redis如何设置密码及验证密码_redis如何设置密码及验证密码
点击加载更多

相似问题

grails spring安全用户界面密码验证器

10

Spring安全配置不验证mysql的用户/密码

12

spring安全如何验证密码(凭据)?

22

使用自定义用户名和密码查询的Spring安全JDBC身份验证

14

用bcrypt算法编码密码的spring安全

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文