0
A
回答
1
由于Chamila提到的解决方案将是编写一个自定义组件。但是,用户操作侦听器将无法工作,因为到达侦听器时,域将被处理并从用户名中删除。
因此,它应该是一个Custom Userstore管理器,用于扩展当前的用户存储管理器。请参考this page并编写一个自定义用户管理器(扩展当前用户存储管理器将使事情变得更容易),然后在调用super(String,Object,boolean)
之前覆盖其authenticate(String,Object,boolean)
方法以检查域名的存在。有关部署自定义用户存储管理器的详细信息,请参阅相同的页面。
1
据我所知,你不能仅仅通过改变配置做到这一点。但是,您可以创建一个自定义组件,其中包含扩展org.wso2.carbon.user.core.listener.UserOperationEventListener
的监听器类,并实现其doPreAuthenticate
,您可以在其中包含用户存储域的情况下检查用户名,如果不包含用户存储域,则可以检查它。
更新
请参阅pulasthi7的回答,好像customUserStoreManager
就是我们需要在这里实现,而不是听众。
相关问题
- 1. PHP代码允许在没有正确密码的情况下登录
- 2. CakePHP的Auth->允许不允许的行为没有登录
- 3. 允许某些用户在不输入密码的情况下登录cakephp
- 4. 允许在没有授权的情况下访问单个API?
- 5. 允许用户在未登出的情况下选择帐户
- 6. 如何仅允许我的应用在未登录的情况下访问Firebase?
- 7. 在没有FosUserBundle的情况下在symfony2中登录进程
- 8. 允许注册用户在未登录的情况下访问其帐户
- 9. 在未经允许的情况下登录用户Google oAuth屏幕
- 10. 在没有登录的情况下比较magento中的产品
- 11. 如何在没有密码的情况下使用SSH登录
- 12. 如何在没有Oauth的情况下登录到脚本?
- 13. 在没有浏览器的情况下登录亚马逊
- 14. 在没有浏览器的情况下登录到Facebook
- 15. 如何在没有用户干预的情况下登录Facebook?
- 16. 如何在没有Facebook应用的情况下登录Facebook?
- 17. 如何在没有登录的情况下注册?
- 18. 如何在没有提示的情况下登录?
- 19. 防止在没有登录的情况下打开页面
- 20. 在没有登录的情况下拨打Magento Soap API
- 21. 在没有密码的情况下登录Liferay用户
- 22. 在没有用户登录的情况下跟踪喜欢
- 23. 在没有openID的情况下登录Google帐户
- 24. 我可以在没有登录的情况下运行tfs吗?
- 25. 在没有用户登录的情况下弹出谷歌登录页面
- 26. 页面可以在没有登录验证的情况下登录
- 27. libcurl:有没有办法在不登录的情况下获得FTPS证书?
- 28. 在没有管理员允许的情况下在Linux上安装Scala
- 29. React如何在不需要jQuery的情况下允许$ .ajax?
- 30. 如何在不允许插入的情况下创建MySQL表
编写一个自定义组件是这里的解决方案。但是,用户操作侦听器将无法正常工作,因为到达侦听器时,域将被处理并从用户名中删除,因此它应该是一个自定义用户。请参阅下面的答案。 – pulasthi7
https://github.com/wso2/carbon-kernel/blob/4.4.x/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/common /AbstractUserStoreManager.java#L458-#L500在这里,我没有看到领域从用户名属性下降到达preAuthenticate方法之前,所以它看起来像使用监听器方法应该工作。我相信这不会比编写自定义的userStoreManager复杂 –