Browse Source

Add paragraph to manual database appendix to clarify that the standard schema is completely optional if you aren't using JdbcDaoImpl.

Luke Taylor 14 years ago
parent
commit
b26f2309f4
1 changed files with 8 additions and 2 deletions
  1. 8 2
      docs/manual/src/docbook/appendix-db-schema.xml

+ 8 - 2
docs/manual/src/docbook/appendix-db-schema.xml

@@ -14,8 +14,8 @@
         <para> The standard JDBC implementation of the
         <para> The standard JDBC implementation of the
             <interfacename>UserDetailsService</interfacename> (<classname>JdbcDaoImpl</classname>)
             <interfacename>UserDetailsService</interfacename> (<classname>JdbcDaoImpl</classname>)
             requires tables to load the password, account status (enabled or disabled) and a list of
             requires tables to load the password, account status (enabled or disabled) and a list of
-            authorities (roles) for the user.
-            <programlisting xml:id="db_schema_users_authorities">
+            authorities (roles) for the
+            user.<programlisting xml:id="db_schema_users_authorities">
   create table users(
   create table users(
       username varchar_ignorecase(50) not null primary key,
       username varchar_ignorecase(50) not null primary key,
       password varchar_ignorecase(50) not null,
       password varchar_ignorecase(50) not null,
@@ -47,6 +47,12 @@ create table group_members (
   group_id bigint not null,
   group_id bigint not null,
   constraint fk_group_members_group foreign key(group_id) references groups(id));
   constraint fk_group_members_group foreign key(group_id) references groups(id));
         </programlisting></para>
         </programlisting></para>
+            <para>Remember that these tables are only required if you are using the provided JDBC
+                <interfacename>UserDetailsService</interfacename> implementation. If you write your
+                own  or choose to implement <interfacename>AuthenticationProvider</interfacename>
+                without a <interfacename>UserDetailsService</interfacename>, then you have complete
+                freedom over how you store the data, as long as the interface contract is
+                satisfied.</para>
         </section>
         </section>
     </section>
     </section>
     <section>
     <section>