Uploaded image for project: 'Seam Security'
  1. Seam Security
  2. SEAMSECURITY-66

Separated API/IMPL jars do not allow compilation of the SimpleAuthenticator example

    Details

    • Steps to Reproduce:
      Hide

      1. Use the SimpleAuthenticator example.
      2. Attempt to compile using the separated api/impl jars, with api in the compile scope, and impl in the runtime scope.

      Show
      1. Use the SimpleAuthenticator example. 2. Attempt to compile using the separated api/impl jars, with api in the compile scope, and impl in the runtime scope.
    • Affects:
      Compatibility/Configuration
    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      Use the combined jars, or put the impl jar into the compile scope.

      Show
      Use the combined jars, or put the impl jar into the compile scope.
    • Estimated Difficulty:
      Low

      Description

      The SimpleAuthenticator example is not compilable with the separated API/IMPL jars, but instead must use either the combined jars, or the impl jar must be in the compile scope.

      This seems like an incorrect factoring of impl vs api classes if the impl classes are required to compile a simple example of a custom authenticator. In particular, the PasswordCredential, BaseAuthenticator and SimpleUser classes are not available if only the API jar is used as a compile time dependency.

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            ceefour Hendy Irawan added a comment -

            I also get this problem:

            [INFO] Compiling 22 source files to /home/ceefour/git/aksimata-web/target/classes
            [INFO] -------------------------------------------------------------
            [ERROR] COMPILATION ERROR : 
            [INFO] -------------------------------------------------------------
            [ERROR] LdapAuthenticator.java:[10,30] cannot find symbol
            symbol  : class BaseAuthenticator
            location: package org.jboss.seam.security
            [ERROR] LdapAuthenticator.java:[12,34] package org.picketlink.idm.impl.api does not exist
            [ERROR] LdapAuthenticator.java:[13,40] package org.picketlink.idm.impl.api.model does not exist
            [ERROR] LdapAuthenticator.java:[23,39] cannot find symbol
            symbol: class BaseAuthenticator
            public class LdapAuthenticator extends BaseAuthenticator {
            [ERROR] LdapAuthenticator.java:[35,22] cannot find symbol
            symbol  : class PasswordCredential
            location: class org.soluvas.ldap.LdapAuthenticator
            [ERROR] LdapAuthenticator.java:[46,4] cannot find symbol
            symbol  : class SimpleUser
            location: class org.soluvas.ldap.LdapAuthenticator
            [ERROR] LdapAuthenticator.java:[46,26] cannot find symbol
            symbol  : class SimpleUser
            location: class org.soluvas.ldap.LdapAuthenticator
            [ERROR] LdapAuthenticator.java:[48,14] cannot find symbol
            symbol  : variable AuthenticationStatus
            location: class org.soluvas.ldap.LdapAuthenticator
            [ERROR] LdapAuthenticator.java:[51,14] cannot find symbol
            symbol  : variable AuthenticationStatus
            location: class org.soluvas.ldap.LdapAuthenticator
            [ERROR] LdapAuthenticator.java:[52,4] cannot find symbol
            symbol  : method setUser(<nulltype>)
            location: class org.soluvas.ldap.LdapAuthenticator
            [ERROR] LdapAuthenticator.java:[56,13] cannot find symbol
            symbol  : variable AuthenticationStatus
            location: class org.soluvas.ldap.LdapAuthenticator
            [ERROR] LdapAuthenticator.java:[57,3] cannot find symbol
            symbol  : method setUser(<nulltype>)
            location: class org.soluvas.ldap.LdapAuthenticator
            [ERROR] LdapAuthenticator.java:[30,1] method does not override or implement a method from a supertype
            

            Workaround:

            <properties>
            	<seam.version>3.1.0.Final</seam.version>
            </properties>
             
              <dependencyManagement>
                <dependencies>
            	<dependency>
            		<groupId>org.jboss.seam</groupId>
            		<artifactId>seam-bom</artifactId>
            		<version>${seam.version}</version>
            		<type>pom</type>
            		<scope>import</scope>
            	</dependency>
            	<dependency>
            		<groupId>org.jboss.seam.security</groupId>
            		<artifactId>seam-security</artifactId>
            		<version>${seam.version}</version>
            		<scope>compile</scope>
            	</dependency>
            	<dependency>
            		<groupId>org.picketlink.idm</groupId>
            		<artifactId>picketlink-idm-core</artifactId>
            		<version>1.5.0.Alpha02</version>
            		<scope>compile</scope>
            	</dependency>
                </dependencies>
              </dependencyManagement>
            

            Please also update the "Affected Version", still happens on 3.1.0.Final.

            Show
            ceefour Hendy Irawan added a comment - I also get this problem: [INFO] Compiling 22 source files to /home/ceefour/git/aksimata-web/target/classes [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] LdapAuthenticator.java:[10,30] cannot find symbol symbol : class BaseAuthenticator location: package org.jboss.seam.security [ERROR] LdapAuthenticator.java:[12,34] package org.picketlink.idm.impl.api does not exist [ERROR] LdapAuthenticator.java:[13,40] package org.picketlink.idm.impl.api.model does not exist [ERROR] LdapAuthenticator.java:[23,39] cannot find symbol symbol: class BaseAuthenticator public class LdapAuthenticator extends BaseAuthenticator { [ERROR] LdapAuthenticator.java:[35,22] cannot find symbol symbol : class PasswordCredential location: class org.soluvas.ldap.LdapAuthenticator [ERROR] LdapAuthenticator.java:[46,4] cannot find symbol symbol : class SimpleUser location: class org.soluvas.ldap.LdapAuthenticator [ERROR] LdapAuthenticator.java:[46,26] cannot find symbol symbol : class SimpleUser location: class org.soluvas.ldap.LdapAuthenticator [ERROR] LdapAuthenticator.java:[48,14] cannot find symbol symbol : variable AuthenticationStatus location: class org.soluvas.ldap.LdapAuthenticator [ERROR] LdapAuthenticator.java:[51,14] cannot find symbol symbol : variable AuthenticationStatus location: class org.soluvas.ldap.LdapAuthenticator [ERROR] LdapAuthenticator.java:[52,4] cannot find symbol symbol : method setUser(<nulltype>) location: class org.soluvas.ldap.LdapAuthenticator [ERROR] LdapAuthenticator.java:[56,13] cannot find symbol symbol : variable AuthenticationStatus location: class org.soluvas.ldap.LdapAuthenticator [ERROR] LdapAuthenticator.java:[57,3] cannot find symbol symbol : method setUser(<nulltype>) location: class org.soluvas.ldap.LdapAuthenticator [ERROR] LdapAuthenticator.java:[30,1] method does not override or implement a method from a supertype Workaround: <properties> <seam.version>3.1.0.Final</seam.version> </properties>   <dependencyManagement> <dependencies> <dependency> <groupId>org.jboss.seam</groupId> <artifactId>seam-bom</artifactId> <version>${seam.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.jboss.seam.security</groupId> <artifactId>seam-security</artifactId> <version>${seam.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.picketlink.idm</groupId> <artifactId>picketlink-idm-core</artifactId> <version>1.5.0.Alpha02</version> <scope>compile</scope> </dependency> </dependencies> </dependencyManagement> Please also update the "Affected Version", still happens on 3.1.0.Final.

              People

              • Assignee:
                Unassigned
                Reporter:
                shdwshard Charles C
              • Votes:
                1 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Development