VueJS Групповая авторизация с NetCore и AAD - PullRequest
0 голосов
/ 24 января 2019

У меня есть приложение Vue, которое аутентифицируется в Azure AD с использованием Net Core в качестве BackEnd. Я создал контроллер для предоставления некоторой базовой информации о пользователе:

     List<Uservaluesfull> values = new List<Uservaluesfull>();
        using (SqlConnection myConnection = new 
           SqlConnection(PathwayConnString))
        {
            SqlCommand myCommand = new SqlCommand("usp_GetUserInfo", 
            myConnection);
            myCommand.CommandType = CommandType.StoredProcedure;
            SqlParameter SIDParameter = myCommand.Parameters.Add("SID", 
            SqlDbType.NVarChar, 100);
            SIDParameter.Value = SID;

            myConnection.Open();

            using (SqlDataReader oReader = myCommand.ExecuteReader())
            {
                while (oReader.Read())
                {
                    Uservaluesfull s = new Uservaluesfull();
                    s.SID = SafeGetString(oReader, "SID");
                    s.FirstName = SafeGetString(oReader, "FirstName");
                    s.LastName = SafeGetString(oReader, "LastName");
                    s.FullName = SafeGetString(oReader, "FullName");
                    s.WorkOffice = SafeGetString(oReader, "WorkOffice");
                    s.Department = SafeGetString(oReader, "Department");
                    s.WorkPhoneNumber = SafeGetString(oReader, 
                                                     "WorkPhoneNumber");
                    s.WorkEmail = SafeGetString(oReader, "WorkEmail");

                    values.Add(s);
                }
                myConnection.Close();
            }
        }
        return values;

    }

Я называю это:

created() {
  axios.get(`/api/UserValues`)
    .then(response => {
      // JSON responses are automatically parsed.
      this.userValues = response.data
    })
    .catch(e => {
      this.errors.push(e)
    })
}

И предоставить основную информацию, которую я использую для размещения информации о пользователе в приложении,

Мои вопросы:

Если я добавлю группы в контроллер пользовательских значений, как я могу создатьСлужба, использующая эту информацию, которая будет ограничивать переход пользователей от одного маршрута к другому, если они не принадлежат к определенной группе:

Пример:

Если пользователь имеет значения UserGues.Groups = GymAdmin, имеет доступко всем компонентам, и пользователь перенаправляется на домашнюю страницу.

Если нет, пользователь перенаправляется на одну конкретную страницу и не имеет доступа для просмотра или перехода на другие маршруты.

Маршрут:

import Notifications from 'components/notifications'
import Students from 'components/students'
import HomePage from 'components/home-page'
import Athletes from 'components/athletes'

export const routes = [
 { name: 'home', path: '/', component: HomePage, display: 'Home', icon: 
 'home' },
{ name: 'students', path: '/students', component: Students, display: 
'Students', icon: 'person' },
{ name: 'athletes', path: '/athletes', component: Athletes, display: 
'Athletes', icon: 'fitness_center' },
//{ name: 'counter', path: '/counter', component: CounterExample, display: 
'Reports', icon: 'bar_chart' },
 { name: 'notifications', path: '/notifications', component: Notifications, 
 display: 'Notifications', icon: 'list' }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...