2017-12-28 39 views
0

ReadWriteLdapuserStore을 보조로 사용하여 AD에 새 사용자를 추가하려고합니다.WSO2 사용자 이름 test011이 유효하지 않습니다. 사용자 이름은 null이 아닌 문자열이어야합니다.

WSO2 ID 서버에 저장하지만 오류 메시지가 표시됩니다.

enter image description here

사용자 devdc.sure.com.sa/user123을 추가 할 수 없습니다. 오류 : 사용자 이름 user123이 (가) 유효하지 않습니다.

enter image description here

내 로그 디버그입니다 :에 의해

를 일으켰 다음과 같은 사용자 이름 제에서

널 (null) 다음 형식이 아닌 널 (null) 문자열, 나는 사용자 이름을 매핑해야합니다 :

org.wso2.carbon.user.core.UserStoreException: Username user123 is not valid. User name must be a non null string with following format, null 
    at org.wso2.carbon.user.core.common.AbstractUserStoreManager.addUser(AbstractUserStoreManager.java:1535) 
    at org.wso2.carbon.user.core.common.AbstractUserStoreManager.addUser(AbstractUserStoreManager.java:1450) 
    ... 85 more 
TID: [-1234] [] [2017-12-28 09:33:31,691] ERROR {org.wso2.carbon.user.mgt.ui.UserAdminClient} - Username user123 is not valid. 
User name must be a non null string with following format, null 
org.wso2.carbon.user.mgt.stub.UserAdminUserAdminException: UserAdminUserAdminException 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
    at java.lang.Class.newInstance(Class.java:442) 
    at org.wso2.carbon.user.mgt.stub.UserAdminStub.addUser(UserAdminStub.java:2202) 
    at org.wso2.carbon.user.mgt.ui.UserAdminClient.addUser(UserAdminClient.java:94) 
    at org.apache.jsp.user.add_002dfinish_002dajaxprocessor_jsp._jspService(add_002dfinish_002dajaxprocessor_jsp.java:152) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155) 
    at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37) 
    at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) 
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128) 
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:120) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:120) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
    at org.wso2.carbon.identity.context.rewrite.valve.TenantContextRewriteValve.invoke(TenantContextRewriteValve.java:72) 
    at org.wso2.carbon.identity.authz.valve.AuthorizationValve.invoke(AuthorizationValve.java:91) 
    at org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:60) 
    at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99) 
    at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) 
    at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57) 
    at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) 
    at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62) 
    at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958) 
    at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1756) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1715) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:748) 
+0

당신이 사용자 mgt.xml 파일에 사용자 이름의 정규 표현식을 변경 했습니까? –

+0

친애하는 두 번째 가게 광고의 사용자 이름 정규식입니다. ** <속성 이름 = "UserNameJavaRegEx"> [a-zA-Z0-9 ._- | //] {3,30} $ <속성 이름이 "UserNameJavaScriptRegEx">^[\ S] {3,30} $ ** 하지만 문제는 사용자 정규식이 아니라고 생각합니다. 정규 표현식에 대한 동일한 구성을 사용하면 두 번째 저장소에 역할을 추가 할 수 있습니다. ** [속성 이름 = "RoleNameJavaScriptRegEx"> [a-zA-Z0-9 ._- | //] {3,30} $ <속성 이름 = "RoleNameJavaScriptRegEx">^[\ S] {3, 30} $ ** – AHMAD

답변

1

사용자 이름 정규식의 속성 이름 ary 상점 AD는 이어야합니다. UsernameJavaRegEx 및 NOT UserNameJavaRegEx. 이것은 username javaScript regex에서도 동일합니다. UsernameJavaScriptRegEx이어야합니다. 버그가 발생했습니다

<Property name="UsernameJavaRegEx">[a-zA-Z0-9._-|//]{3,30}$</Property> 
<Property name="UsernameJavaScriptRegEx">^[\S]{3,30}$</Property> 

은 5.0.0, LDAP 및 AD의 UI에서 UsernameJavaRegEx 및 UsernameJavaScriptRegEx를 저장할 때, 그것은 UserNameJavaRegEx 및 UserNameJavaScriptRegEx로 저장됩니다. 그러나 UsernameJavaRegEx 및 UsernameJavaScriptRegEx로 읽습니다. 그러나 이것은 이후 버전에서 수정되었습니다. [1]

[1] https://wso2.org/jira/browse/IDENTITY-3780