2015-04-16 5 views
0

В настоящее время мы работаем над HRIS (Information Information System). У нас разные типы пользователей, такие как Admin, HR, Employee. Но эти типы пользователей не являются статическими. Мы хотим иметь разные маршруты для каждого типа пользователя.Изменить маршрут во время работы

например.

https://website/admin/{controller}/{id} 

Маршрут будет зависеть от пользователя, который вошёл в систему. Будет читать его тип пользователя.

Можем ли мы узнать, есть ли способ настроить маршрут для каждого типа пользователя?

+0

Это должно быть возможно, я думаю, в зависимости о том, что именно вы пытаетесь выполнить. Вопрос не совсем ясен относительно того, что вы пытаетесь выполнить, но могу ли я спросить, почему вы хотите иметь роль на маршруте? если это ваш метод определения роли текущего зарегистрированного пользователя, который не очень безопасен. –

+0

Мы хотим иметь отдельный маршрут для каждого типа пользователя, чтобы мы могли определить, к чему они обращаются. И поскольку наша система имеет много типов пользователей. –

+0

Вам удалось это исправить? – sitilge

ответ

0

решение с моей точки зрения было бы:

  1. Вы можете создать маршрут (URL на самом деле), что соответствует схеме:

    https://website/admin/3 
    

    , который содержит всю логику для этого пользователя - вероятно, ссылаясь на модель, запрашивая соответствующий пользовательский контроллер, например superadmin, а затем перенаправлять на ...

  2. Другой URL соответствия

    https://website/admin/superadmin/3 
    

    , что теперь имеет как controller = superadmin и переменную id = 3. Не сказано, что маршрут должен быть другим - вы можете реализовать логику, когда controller является либо id (целое число), либо string, чтобы поддерживать логику более централизованной.

  3. Просто говоря:

    https://website/admin/3 
    

    должно быть хорошо - вы можете обработать запрос от соответствующего контроллера без перенаправления (см 1. пункт)

0

Это очень похоже на следующий вопрос: MVC role-based routing

По существу вы используете области, в сочетании с ограничением маршрутизации.

Смежные вопросы