WSO2身份服务器电子邮件或虚拟用户名
这是与WSO2 identity server email as username完全相同的问题,但我们希望同时提供用户名作为电子邮件地址或用户名(pseudo without @)。WSO2身份服务器电子邮件或虚拟用户名
我了解租户完全限定名称使用@的问题,但我们无法更改租户完全限定的@字符吗?
是否可以同时使用的电子邮件地址或用户名作为用户名如果是的话,你可以提供的配置,我不能让下面的https://docs.wso2.com/display/IS520/Using+Email+Address+as+the+Username
我编辑我的问题来测试Rajjaz穆罕默德和Pradeepa维克拉马辛答案工作:
我评论<Property name="UsernameJavascriptRegEx">
当我添加用户,将不会@我得到: Caused by: org.wso2.carbon.user.core.UserStoreException: Username jacques.martin is not valid. User name must be a non null string with following format, ^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ at org.wso2.carbon.user.core.common.AbstractUserStoreManager.addUser(AbstractUserStoreManager.java:1405)
如果我删除此标签<Property name="UsernameJavaRegEx">
我得到以下埃罗r:
TID: [1] [] [2016-11-22 13:16:50,409] [email protected]@mytenant.com [1] [IS]ERROR {org.wso2.carbon.identity.mgt.util.Utils} - Unable to retrieve the claim for user : [email protected] org.wso2.carbon.user.core.UserStoreException: UserNotFound: User [email protected] not exist in: PRIMARY at org.wso2.carbon.user.core.common.AbstractUserStoreManager.callSecure(AbstractUserStoreManager.java:168) at org.wso2.carbon.user.core.common.AbstractUserStoreManager.getUserClaimValues(AbstractUserStoreManager.java:697) at org.wso2.carbon.identity.mgt.util.Utils.getClaimFromUserStoreManager(Utils.java:189) at org.wso2.carbon.identity.mgt.util.Utils.getEmailAddressForUser(Utils.java:226) at org.wso2.carbon.identity.mgt.mail.AbstractEmailSendingModule.getNotificationAddress(AbstractEmailSendingModule.java:53) at org.wso2.carbon.identity.mgt.RecoveryProcessor.notifyWithEmail(RecoveryProcessor.java:541) at org.wso2.carbon.identity.mgt.services.UserInformationRecoveryService.registerUser(UserInformationRecoveryService.java:890)
与Pradeepa Wickramasinghe的答案相同的错误。
我的Java代码如下: userInformationRecoveryClient.registerUser(user.getUsername(), user.getPassword(), claims, "default", tenant);
要求我已正确设置http://wwso2.org/claims/email
是的,是有可能使用的用户名都电子邮件地址或用户名。对于您需要按照下面的步骤,
- 在[IS_HOME] 取消注释启用邮箱的用户名/repository/conf/carbon.xml如下文件,
<EnableEmailUserName>true</EnableEmailUserName>
- 将新属性添加到[IS_HOME]/repository/conf/user-mgt。xml文件如下,
<Property name="UsernameWithEmailJavaScriptRegEx">[[email protected]_-|//]{3,30}$</Property>
- 改变了 “UsernameJavaRegEx” 和 “UsernameJavaScriptRegEx” 在[IS_HOME] /repository/conf/user-mgt.xml文件作为下面,
<Property name="UsernameJavaRegEx">[[email protected]_-|//]{3,30}$</Property>
<Property name="UsernameJavaScriptRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property>
你可以发现更多的细节here。
尝试使用此行代码
<Property name="UsernameJavaRegEx">^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$</Property>
insted的使用这条线
<Property name="UsernameJavaScriptRegEx">^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$</Property>
感谢您的回答,但在将用户添加到承租人时这不起作用。问题与完整跟踪 – gribo
的因为我们称AD为我们的身份商店,我们发现除了设置
<EnableEmailUserName>true</EnableEmailUserName>
在carbon.xml
,我们也需要改变UserNameSearchFilter
搜索广告的这两个部分
<Property name="UserNameSearchFilter">(& (objectClass=person)(|(userPrincipalName=?)(sAMAccountName=?)))</Property>
在user-mgt.xml
编辑谢谢你的回答,但是当我将用户添加到承租人这是行不通的。问题与堆栈跟踪 – gribo
编辑我看了你的更新,但使用的是不是我在上面添加不同的正则表达式。当您使用此正则表达式“^ [A-ZA-Z0-9 ._-] + @ [A-ZA-Z0-9 .-] + \。[A-ZA-Z] {2,4您的问题发生} $”。请使用我的配置验证您的设置。 –
我测试了这两个解决方案,发生同样的错误与您的答案也可能是一个错误。也许它没有帐户确认工作? – gribo