Solved! Here is the setup that worked for me: I know this is long but better than a short solution that does not explain it or other things to try.
1. Site level: users/permissions/user policies and changing default roles for:
All users: authenticated
Users in a course: Student (this was the kicker, without it, it returns them endlessly to key request but never lets them in. )
Note: My visitors and guests are both are set as guests
2. Site level: users/permissions/define roles Here, changing it will negate solution above which I had to change back for above settings to work.
Student: view course (set as default)
Guest: view course (set as default)
Authenticated user: Not Set. Keep it that way or all users above allows them to see all courses and does not ask for a key.
Course/settings
Default role: Student NOT authenticated user.
Enrollment key if desired,
My links/sources which you can also try if above does not work for you
discussion only:
http://moodle.org/mod/forum/discuss.php?d=79744
*suggestion, 'Only way round this is to allow students extra permissions such as inspector' which no one figured out what he meant.
*check in course enrollments are allowed
*try changing course key [did not help]
*allow guests with a key [did not help me but worked for one]
tracker:
http://tracker.moodle.org/browse/MDL-8379
*It seems that if you reload the mdl_role_capabilities table the whole enrolment process starts to work again fine, I have attached a default copy of said table, I hope this helps out a little.
[I never figured out what he meant or how to reload a role]
duplicate issue 2
http://tracker.moodle.org/browse/MDL-8403;jsessionid=23929BD26F677F22E07B1E79E61FC240
*It sounds like defaultcourseroleid is set to guest. Go to Users -> Permissions -> User Policies and set it to student. That should fix your problem. [this got me thinking]
*It's working now after specifying "View Course" for both guests and students, so I don't think this is a bug. Howevever I don't understand why it should be necessary to specify this; it should be default. [already set by default unless you changed it - messed me up when I applied it to authenticated users]
duplicate issue 3
http://tracker.moodle.org/browse/MDL-11520
*suggested allow guests in without key which I did not desire
If my solution does not work for you, try using excel and use each of the variables below going down and then what values you choose for each scenario. Write what effect you see and change just one at a time. This helped me solve the problem and reproduce it to be sure.
Effect notes at top of each column
site default role user
site default role for students in a in course
site define student role able to view courses
site define guest role to view courses
site define authenticated user to view courses
Course default role
Enrollment key required
allow guests in
Good Luck
Same issue. Only admin can get into any class. Course creator, teacher, students receive repeated enrolment key requests. Moodle 1.7.1+ (2006101010) MySQL 5.0.27, PHP 5.2.0, WAMP1.6.6.