Behind the Blackboard! Error when Accessing a Course with Custom System Role - Behind the Blackboard Skip Navigation
Download PDF  Icon Download PDF    Print article

Error when Accessing a Course with Custom System Role

Date Published: Feb 21,2018


CategoryPlanned First Fix Release:Will Not Fix; Product:Users & Role Management,Content Management; Version:SaaS
Article No.: 000063466
Product:
Blackboard Learn
Release:
SaaS
Service Pack(s):
SaaS
Description:
In SaaS Ultra Environments, when a User with a custom System Role tries to access a Course that they are not Enrolled in, an error message is displayed: "Sorry! Your name is not on the list."
Steps to Repeat:
In a SaaS Ultra Environment:
  1. Log into Blackboard Learn as a System Administrator
  2. Create a custom System Role at System Admin > [UsersSystem Roles > Create Role
    • Give the Role a Name and ID > Submit
    • Give the Role the following Privileges
      • Administrator Panel
      • Administrator Panel (Building Blocks) > Building Blocks > Installed Tools
      • Administrator Panel (Building Blocks) > Logs > Authentication Logs > View Authentication Logs
      • Administrator Panel (Building Blocks) > Logs > Student Information System Integration Logs > View Data Integration Logs
      • Administrator Panel (Courses) > Courses
      • Administrator Panel (Courses) > Courses > Edit
      • Administrator Panel (Courses) > Courses > Edit > Categorize Course
      • Administrator Panel (Courses) > Courses > Edit > Enrollments
      • Administrator Panel (Courses) > Courses > Edit > Enrollments > Add Enrollment
      • Administrator Panel (Courses) > Courses > Edit > Enrollments > Delete Enrollments
      • Administrator Panel (Courses) > Courses > Edit > Enrollments > Edit Enrollment
      • Administrator Panel (Courses) > Course Settings > Default Course Size Limits
      • Administrator Panel (Courses) > Courses > Export Course
      • Administrator Panel (Courses) > Courses > Import Package
      • Administrator Panel (Courses) > Create/Modify Term
      • Administrator Panel (Courses) > Terms
      • Administrator Panel (Help) > Behind the Blackboard™‎
      • Administrator Panel (Help) > On Demand
      • Administrator Panel (Help) > Online Administrator Guide
      • Administrator Panel (Organizations) > Organizations
      • Administrator Panel (Organizations) > Organizations > Available/Unavailable
      • Administrator Panel (Organizations) > Organizations > Batch Enroll Users
      • Administrator Panel (Organizations) > Organizations > Create Organization
      • Administrator Panel (Organizations) > Organizations > Edit
      • Administrator Panel (Organizations) > Organizations > Edit > Categorize Organization
      • Administrator Panel (Organizations) > Organizations > Edit > Enrollments
      • Administrator Panel (Organizations) > Organizations > Edit > Enrollments > Add Enrollment
      • Administrator Panel (Organizations) > Organizations > Edit > Enrollments > Delete Enrollments
      • Administrator Panel (Organizations) > Organizations > Edit > Enrollments > Edit Enrollment
      • Administrator Panel (Organizations) > Organization Settings > Default Organization Size Limits
      • Administrator Panel (Organizations) > Organizations > Export Organization
      • Administrator Panel (Organizations) > Organizations > Import Package
      • Administrator Panel (Tools and Utilities) > Building Block Links
      • Administrator Panel (Tools and Utilities) > Goals
      • Administrator Panel (Tools and Utilities) > Logs
      • Administrator Panel (Tools and Utilities) > Logs > Course Cartridge Import Status
      • Administrator Panel (Tools and Utilities) > System Reporting
      • Administrator Panel (Tools and Utilities) > System Reporting > Statistics
      • Administrator Panel (Tools and Utilities) > System Reporting > Statistics Reports
      • Administrator Panel (Tools and Utilities) > System Reporting > Statistics Reports > Run
      • Administrator Panel (Users) > Users
      • Administrator Panel (Users) > Users > Available/Unavailable
      • Administrator Panel (Users) > Users > Edit > User Properties
      • Administrator Panel (Users) > Users > Edit > View Course Enrollments
      • Administrator Panel (Users) > Users > Edit > View Organization Enrollments
      • Administrator Panel (Users) > Users > Search, Not Blank
      • Administrator Panel (Users) > Users > Set User's Institution Roles
      • Course/Organization > Access unavailable course
      • Course/Organization (Content Areas) > Deploy Tests and Surveys
      • Course/Organization (Content Areas) > Edit Materials
      • Course/Organization (Content Areas) > Statistics Tracking/Reporting
      • Course/Organization Control Panel
      • Course/Organization Control Panel (Customization) > Tool Availability
      • Course/Organization Control Panel (Evaluation) > Performance Dashboard
      • Course/Organization Control Panel (Evaluation) > Retention Center
      • Course/Organization Control Panel (Evaluation) > SCORM Reports, View
      • Course/Organization Control Panel > Quick Enroll
      • Course/Organization Control Panel (Tools) > Announcements
      • Course/Organization Control Panel (Tools) > Discussion Board
      • Course/Organization Control Panel (Tools) > Tests, Surveys, and Pools > Pools
      • Course/Organization Control Panel (Tools) > Tests, Surveys, and Pools > Tests
      • Course/Organization Control Panel (Tools) > Tests, Surveys, and Pools > Tests > Build Test
      • Course/Organization Control Panel (Tools) > Tests, Surveys, and Pools > Tests > Delete Test
      • Course/Organization Control Panel (Users and Groups) > Users
      • Course/Organization Control Panel (Users and Groups) > Users > Change User's availability in Course/Organization
      • Course/Organization Control Panel (Users and Groups) > Users > Edit User Properties
      • Course/Organization Control Panel (Users and Groups) > Users > Enroll User
      • Course/Organization Control Panel (Users and Groups) > Users > Remove Users from Course/Organization
      • Course/Organization > Student Preview > Access Preview Account
      • My Settings > Settings > Personal Information
      • My Settings > Settings > Personal Information > Change Password
      • My Settings > Settings > Personal Information > Change Personal Settings
      • My Settings > Settings > Personal Information > Change Personal Settings, Set CD-ROM Drive
      • My Settings > Settings > Personal Information > Change Personal Settings, Set Language Pack
      • My Settings > Settings > Personal Information > Change Personal Settings, Set Text Editor Options
      • My Settings > Settings > Personal Information > Edit Personal Information
      • My Settings > Settings > Personal Information > Set Privacy Options
      • Student Performance Dashboard
      • System Admin > System Reporting > Report Definitions
      • System Admin > System Reporting > Report Definitions > Availability
      • System Admin > System Reporting > Report Definitions > Import Definitions
  3. Create a test User and give it the custom System Role
  4. Create a new Course and give it Ultra Course View
    • Do NOT Enroll the User in the Course
  5. Log in with the test User
  6. Locate and access the test Course

Expected Behavior:
The Course is accessible

Observed Behavior:
Sorry!  Your name is not on the list.
Please check with your Administrator if you need to access this page.

Symptoms:

2017-12-14 05:18:57 -0500 -  - blackboard.platform.restspring.exception.RestException: User is not permitted to access the requested course.
    at blackboard.plugin.calendar.spring.rest.CourseScheduleRestService.getCourseSchedule(CourseScheduleRestService.java:104)
    at sun.reflect.GeneratedMethodAccessor1885.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:817)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:731)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    at sun.reflect.GeneratedMethodAccessor913.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:549)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:170)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:224)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:46)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:148)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:144)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:143)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:467)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:392)
    at org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:63)
    at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:95)
    at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:83)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:303)
    at blackboard.plugin.rest.web.ApiController.dispatchRequest(ApiController.java:744)
    at blackboard.plugin.rest.web.ApiController.service(ApiController.java:534)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    at sun.reflect.GeneratedMethodAccessor913.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:549)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:170)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:224)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:46)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:148)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:144)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:143)
    at blackboard.platform.servlet.DevNonceFilter.doFilter(DevNonceFilter.java:68)
    at sun.reflect.GeneratedMethodAccessor378.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:549)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)

    ...
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:46)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:148)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:144)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:143)
    at blackboard.platform.servlet.RequestClassParamFilter.doFilter(RequestClassParamFilter.java:42)
    at sun.reflect.GeneratedMethodAccessor378.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:549)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:253)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:46)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:148)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:144)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:143)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
    at org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:206)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
    at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:677)
    at blackboard.tomcat.valves.LoggingRemoteIpValve.invoke(LoggingRemoteIpValve.java:44)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)


Resolution/Workaround:

Add the following Privileges to the custom Role:
  • Course/Organization (Content Areas) > Edit Materials
  • Course/Organization (Content Areas) > Deploy Tests and Surveys
  • Course/Organization Control Panel
  • Course/Organization Control Panel (Customization) > Tool Availability
  • Course/Organization Control Panel (Tools) > Tests, Surveys, and Pools > Pools
  • Course/Organization Control Panel (Tools) > Tests, Surveys, and Pools > Tests
  • Course/Organization Control Panel (Tools) > Tests, Surveys, and Pools > Tests > Build Test
  • Course/Organization Control Panel (Tools) > Tests, Surveys, and Pools > Tests > Delete Test
  • Administrator Panel (Tools and Utilities) > Calendar
  • Course/Organization Control Panel (Tools) > Calendar    
  • Course/Organization Control Panel (Tools) > Calendar > Create Event    
  • Course/Organization Control Panel (Tools) > Calendar > Edit/Delete Event


Target Release:

Will Not Fix

Patch Available:

No






The information contained in the Knowledge Base was written and/or verified by Blackboard Support. It is approved for client use. Nothing in the Knowledge Base shall be deemed to modify your license in any way to any Blackboard product. If you have comments, questions, or concerns, please send an email to kb@blackboard.com. © 2024 Blackboard Inc. All rights reserved