Пример #1
0
        public static bool HasAccessFor(this IPrincipal principal, string courseId, CourseRole minAccessLevel)
        {
            if (principal.IsSystemAdministrator())
            {
                return(true);
            }

            var courseRole = principal.GetAllRoles().FirstOrDefault(t => string.Equals(t.Item1, courseId, StringComparison.OrdinalIgnoreCase));

            return(courseRole?.Item2 <= minAccessLevel);
        }
Пример #2
0
        public static bool HasAccess(this IPrincipal principal, CourseRole minAccessLevel)
        {
            if (principal.IsSystemAdministrator())
            {
                return(true);
            }

            var roles = principal.GetAllRoles().Select(t => t.Item2).ToList();

            if (!roles.Any())
            {
                return(false);
            }
            return(roles.Min() <= minAccessLevel);
        }
Пример #3
0
        public static bool HasAccessFor(this IPrincipal principal, string courseId, CourseRole minAccessLevel)
        {
            if (principal.IsSystemAdministrator())
            {
                return(true);
            }

            var courseRole = principal.GetAllRoles().FirstOrDefault(t => t.Item1 == courseId);

            if (courseRole == null)
            {
                return(false);
            }

            return(courseRole.Item2 <= minAccessLevel);
        }
Пример #4
0
 public static IEnumerable <string> GetCoursesIdFor(this IPrincipal principal, CourseRole role)
 {
     return(principal.GetAllRoles().Where(t => t.Item2 <= role).Select(t => t.Item1));
 }
Пример #5
0
 public static CourseRole?GetCourseRole(this IPrincipal principal, string courseId)
 {
     return(principal.GetAllRoles().FirstOrDefault(t => string.Equals(t.Item1, courseId, StringComparison.OrdinalIgnoreCase))?.Item2);
 }