单点登录cas常见问题(十二) - Principal的id对应数据库表中的哪个字段?
来源:互联网 发布:java decompiler 下载 编辑:程序博客网 时间:2024/09/21 06:16
Principal.getId()拿到的用户id,默认是从Credential.getId()拷贝过来的,Principal实例主要是来自DefaultPrincipalFactory
DefaultPrincipalFactory.createPrincipal(final String id)
我们看一下QueryDatabaseAuthenticationHandler 是怎么调用DefaultPrincipalFactory.createPrincipal()的
class QueryDatabaseAuthenticationHandler extends AbstractJdbcUsernamePasswordAuthenticationHandler { @Override protected final HandlerResult authenticateUsernamePasswordInternal(final UsernamePasswordCredential credential) throws GeneralSecurityException, PreventedException { final String username = credential.getUsername(); ...... return createHandlerResult(credential, this.principalFactory.createPrincipal(username), null); }}
可以看到Principal的id就是来自Credential.getId()
那么Credential的id又是从哪来的呢
UsernamePasswordCredential implements Credential{......... public String getId() { return this.username; }.........}
从代码可以看到,UsernamePasswordCredential.getId()返回的就是用户登陆时在网页上输入的用户名username,而不是数据库表中user的id(整型数据),它是一个String类型。
0 0
- 单点登录cas常见问题(十二) - Principal的id对应数据库表中的哪个字段?
- CAS单点登录之mysql数据库用户验证及常见问题
- 单点登录cas常见问题系列汇总
- CAS单点登录-单点登出/退出/注销(十二)
- 单点登录cas的使用
- CAS的单点登录原理
- CAS 实现的单点登录
- CAS 实现的单点登录
- 单点登录cas常见问题(九) - android app怎么接入cas单点登录系统?
- 单点登录(十二)-----遇到问题-----cas启用mongodb验证方式登录后没反应-pac4j-mongo包中的MongoAuthenticatInvocationTargetException
- jasig CAS实现单点登录(数据库认证)
- jasig CAS实现单点登录(数据库认证)
- jasig CAS实现单点登录(数据库认证)
- CAS单点登录-配置数据库认证方式
- CAS实现单点登录(数据库认证)
- cas单点登录采用sqlserver数据库配置
- IDEA-CAS-SSO单点登录-数据库
- cas单点登录改为数据库验证用户
- DRP封装PageModel实现分页查询
- [BZOJ2324][ZJOI2011]营救皮卡丘
- 2015——乙未年下半年总结
- Android Material Design学习之五CollapsingToolbarLayout
- memcached error while loading shared libraries: libevent-2.0.so.5
- 单点登录cas常见问题(十二) - Principal的id对应数据库表中的哪个字段?
- Qt信号和槽
- 科研经验
- 算法_8:贪心算法
- java项目——URLRewrite实现url地址伪静态化
- 算法导论第三版第七章思考题
- NTHU OJ 10924
- 免费帮助台软件、客户服务管理(CSM)和支持门票应用程序(PHP版本)
- Cpp_多态