证书配置和token authentication 配置的区别
发布网友
发布时间:2022-05-01 14:52
我来回答
共1个回答
热心网友
时间:2023-10-20 04:42
1. 概述
本教程展示何创建Spring Security
认证提供者获比标准场景使用简单UserDetailsService 更灵性
2. 认证提供者
Spring Security 执行认证提供选择 – 所选择都基于约定 – 即
Authentication 请求由 AuthenticationProvider 处理并且返完全认证、具所凭证象
标准、用实现 DaoAuthenticationProvider –
获取用户详细信息通简单读用户DAO即
UserDetailsService 我想要获取完整用户实体UserDetailsService
却仅能访问用户名 – 部情况已经足够
更用户自定义情境完认证程需要访问完整Authentication 请求 –
例针些外部、第三服务(比Crowd)进行认证 –
自于认证请求 username password 都必须
些更高级场景我需要定义自定义认证提供者:
@Component public class CustomAuthenticationProvider implements AuthenticationProvider {
@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
String name = authentication.getName();
String password = authentication.getCredentials().toString();
// use the credentials to try to authenticate against the third party system if (authenticatedAgainstThirdPartySystem()) {
List grantedAuths = new ArrayList>();
return new UsernamePasswordAuthenticationToken(name, password, grantedAuths);
} else {
return null;
}
}
@Override
public boolean supports(Class authentication) {
return authentication.equals(UsernamePasswordAuthenticationToken.class);
}
}
注意返Authentication 象授权信息空 – 应用同权限信息必同
3. 安全配置——注册认证提供者
现认证提供者已经定义我需要XML安全配置指定使用用命名空间支持:
...
4. 认证程
触发认证程没同甚至用定制认证提供者我已经用基本认证建立我安全配置所我用简单curl命令发送认证请求:
curl --header "Accept:application/json" -i --user user1:user1Pass
http /localhost:8080/spring-security-custom/api/foo/1
我服务器获期望200功结:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=B8F0EFA81B78DE968088EBB9AFD85A60; Path=/spring-security-custom/; HttpOnly
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Sun, 02 Jun 2013 17:50:40 GMT
5. 总结
篇文章我讨论Spring安全定制认证提供者示例github项目找实现——基本Eclipse项目所轻松导入运行
转载仅供参考祝愉快满意请采纳
热心网友
时间:2023-10-20 04:42
1. 概述
本教程展示何创建Spring Security
认证提供者获比标准场景使用简单UserDetailsService 更灵性
2. 认证提供者
Spring Security 执行认证提供选择 – 所选择都基于约定 – 即
Authentication 请求由 AuthenticationProvider 处理并且返完全认证、具所凭证象
标准、用实现 DaoAuthenticationProvider –
获取用户详细信息通简单读用户DAO即
UserDetailsService 我想要获取完整用户实体UserDetailsService
却仅能访问用户名 – 部情况已经足够
更用户自定义情境完认证程需要访问完整Authentication 请求 –
例针些外部、第三服务(比Crowd)进行认证 –
自于认证请求 username password 都必须
些更高级场景我需要定义自定义认证提供者:
@Component public class CustomAuthenticationProvider implements AuthenticationProvider {
@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
String name = authentication.getName();
String password = authentication.getCredentials().toString();
// use the credentials to try to authenticate against the third party system if (authenticatedAgainstThirdPartySystem()) {
List grantedAuths = new ArrayList>();
return new UsernamePasswordAuthenticationToken(name, password, grantedAuths);
} else {
return null;
}
}
@Override
public boolean supports(Class authentication) {
return authentication.equals(UsernamePasswordAuthenticationToken.class);
}
}
注意返Authentication 象授权信息空 – 应用同权限信息必同
3. 安全配置——注册认证提供者
现认证提供者已经定义我需要XML安全配置指定使用用命名空间支持:
...
4. 认证程
触发认证程没同甚至用定制认证提供者我已经用基本认证建立我安全配置所我用简单curl命令发送认证请求:
curl --header "Accept:application/json" -i --user user1:user1Pass
http /localhost:8080/spring-security-custom/api/foo/1
我服务器获期望200功结:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=B8F0EFA81B78DE968088EBB9AFD85A60; Path=/spring-security-custom/; HttpOnly
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Sun, 02 Jun 2013 17:50:40 GMT
5. 总结
篇文章我讨论Spring安全定制认证提供者示例github项目找实现——基本Eclipse项目所轻松导入运行
转载仅供参考祝愉快满意请采纳
热心网友
时间:2023-10-20 04:42
1. 概述
本教程展示何创建Spring Security
认证提供者获比标准场景使用简单UserDetailsService 更灵性
2. 认证提供者
Spring Security 执行认证提供选择 – 所选择都基于约定 – 即
Authentication 请求由 AuthenticationProvider 处理并且返完全认证、具所凭证象
标准、用实现 DaoAuthenticationProvider –
获取用户详细信息通简单读用户DAO即
UserDetailsService 我想要获取完整用户实体UserDetailsService
却仅能访问用户名 – 部情况已经足够
更用户自定义情境完认证程需要访问完整Authentication 请求 –
例针些外部、第三服务(比Crowd)进行认证 –
自于认证请求 username password 都必须
些更高级场景我需要定义自定义认证提供者:
@Component public class CustomAuthenticationProvider implements AuthenticationProvider {
@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
String name = authentication.getName();
String password = authentication.getCredentials().toString();
// use the credentials to try to authenticate against the third party system if (authenticatedAgainstThirdPartySystem()) {
List grantedAuths = new ArrayList>();
return new UsernamePasswordAuthenticationToken(name, password, grantedAuths);
} else {
return null;
}
}
@Override
public boolean supports(Class authentication) {
return authentication.equals(UsernamePasswordAuthenticationToken.class);
}
}
注意返Authentication 象授权信息空 – 应用同权限信息必同
3. 安全配置——注册认证提供者
现认证提供者已经定义我需要XML安全配置指定使用用命名空间支持:
...
4. 认证程
触发认证程没同甚至用定制认证提供者我已经用基本认证建立我安全配置所我用简单curl命令发送认证请求:
curl --header "Accept:application/json" -i --user user1:user1Pass
http /localhost:8080/spring-security-custom/api/foo/1
我服务器获期望200功结:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=B8F0EFA81B78DE968088EBB9AFD85A60; Path=/spring-security-custom/; HttpOnly
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Sun, 02 Jun 2013 17:50:40 GMT
5. 总结
篇文章我讨论Spring安全定制认证提供者示例github项目找实现——基本Eclipse项目所轻松导入运行
转载仅供参考祝愉快满意请采纳