You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Prachi Damle (JIRA)" <ji...@apache.org> on 2014/04/17 02:11:15 UTC

[jira] [Resolved] (CLOUDSTACK-6349) IAM - No error message presented to the user , when invalid password is provided.

     [ https://issues.apache.org/jira/browse/CLOUDSTACK-6349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Prachi Damle resolved CLOUDSTACK-6349.
--------------------------------------

    Resolution: Fixed

AccountManager used to figure out if a user is an Admin, domain admin or normal user based on 'accountType' property.

But with IAM, this should be done using the account Id to load the account and check the policies tied to that account.

This was not done in a particular code which was still trying to call IAM by passing in the accountType value instead of account ID.


> IAM - No error message presented to the user , when invalid password is provided.
> ---------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-6349
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6349
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: Management Server
>    Affects Versions: 4.4.0
>         Environment: Build from 4.4.
>            Reporter: Sangeetha Hariharan
>            Assignee: Prachi Damle
>            Priority: Critical
>             Fix For: 4.4.0
>
>
> Try to log in as regular user , by providing invalid username/password.
> User is not presented with any error message:
> apilog.log:
> 2014-04-07 10:51:15,849 INFO  [a.c.c.a.ApiServer] (catalina-exec-6:ctx-5511ac44)  10.215.3.0 -- POST command=login domain=/ unknown exception writing api response
> Management server log:
> 2014-04-07 10:47:28,001 DEBUG [c.c.a.ApiServlet] (catalina-exec-3:ctx-845578ba) ===START===  10.215.3.0 -- POST
> 2014-04-07 10:47:28,003 DEBUG [c.c.u.AccountManagerImpl] (catalina-exec-3:ctx-845578ba) Attempting to log in user: test in domain 1
> 2014-04-07 10:47:28,003 DEBUG [c.c.s.a.SHA256SaltedUserAuthenticator] (catalina-exec-3:ctx-845578ba) Retrieving user: test
> 2014-04-07 10:47:28,005 DEBUG [c.c.s.a.MD5UserAuthenticator] (catalina-exec-3:ctx-845578ba) Retrieving user: test
> 2014-04-07 10:47:28,009 DEBUG [c.c.s.a.MD5UserAuthenticator] (catalina-exec-3:ctx-845578ba) Password does not match
> 2014-04-07 10:47:28,012 DEBUG [c.c.s.a.PlainTextUserAuthenticator] (catalina-exec-3:ctx-845578ba) Retrieving user: test
> 2014-04-07 10:47:28,016 DEBUG [c.c.s.a.PlainTextUserAuthenticator] (catalina-exec-3:ctx-845578ba) Password does not match
> 2014-04-07 10:47:28,016 DEBUG [c.c.u.AccountManagerImpl] (catalina-exec-3:ctx-845578ba) Unable to authenticate user with username test in domain 1
> 2014-04-07 10:47:28,019 ERROR [c.c.a.ApiServlet] (catalina-exec-3:ctx-845578ba) unknown exception writing api response
> com.cloud.exception.InvalidParameterValueException: Caller cannot be passed as NULL to IAM!
>         at org.apache.cloudstack.iam.RoleBasedEntityAccessChecker.checkAccess(RoleBasedEntityAccessChecker.java:67)
>         at com.cloud.user.AccountManagerImpl.isRootAdmin(AccountManagerImpl.java:371)
>         at com.cloud.user.AccountManagerImpl.isInternalAccount(AccountManagerImpl.java:420)
>         at com.cloud.user.AccountManagerImpl.getUserAccount(AccountManagerImpl.java:2045)
>         at com.cloud.user.AccountManagerImpl.authenticateUser(AccountManagerImpl.java:1871)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:601)
>         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>         at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>         at $Proxy99.authenticateUser(Unknown Source)
>         at com.cloud.api.ApiServer.loginUser(ApiServer.java:850)
>         at com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:231)
>         at com.cloud.api.ApiServlet.access$000(ApiServlet.java:54)
>         at com.cloud.api.ApiServlet$1.run(ApiServlet.java:118)
>         at org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
>         at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
>         at org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
>         at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:115)
>         at com.cloud.api.ApiServlet.doPost(ApiServlet.java:82)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>         at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
>         at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721)
>         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2274)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:722)
> 2014-04-07 10:47:28,020 DEBUG [c.c.a.ApiServlet] (catalina-exec-3:ctx-845578ba) ===END===  10.215.3.0 -- POST



--
This message was sent by Atlassian JIRA
(v6.2#6252)