Как я вручную устанавливаю роль пользователя в ASP.NET MVC?

String.prototype.replaceAll = function (replaceThis, withThis) {
   var re = new RegExp(replaceThis,"g"); 
   return this.replace(re, withThis);
};
var aa = "abab54..aba".replaceAll("\\.", "v");

Тест с этим инструмент

16
задан Colin O'Dell 19 August 2009 в 02:55
поделиться

2 ответа

Реализовать поставщика ролей не так уж сложно, особенно если вы реализуете только проверку ролей, а не управление ролями. Просто реализуйте те части, которые вам нужны, а остальные выбросят NotImplementedExceptions. Если у вас есть только одно приложение, вам не нужно слишком беспокоиться об этой части. Обратите внимание, что необходимые вам части будут зависеть от того, как их использует фреймворк, а не от того, как вы бы их использовали. Я думаю, например, вам нужно будет реализовать бит, который возвращает все роли пользователя, даже если вы хотите только проверить, находятся ли они в определенной роли.

Тем не менее, вы можете опустить весь RoleProvider и сделать все это в сессия. В этом случае вы должны реализовать свой собственный AuthorizeAttribute и заменить его ' биты аутентификации и проверки ролей своими собственными. Сохраните роль пользователя в сеансе после аутентификации и проверьте ее там, используя свой атрибут и параметры, предоставленные атрибуту для метода / класса, которым вы его украсили.

15
ответ дан 30 November 2019 в 21:37
поделиться

Если вы используете членство и роли, встроенные в asp. net затем посмотрите на AddUserToRole и RemoveUserFromRole:

http://msdn.microsoft.com/en-us/library/system.web.security.roles.addusertorole.aspx

В зависимости от того, как они входят в систему, вы можете добавить и удалите их по мере необходимости.

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

РЕДАКТИРОВАТЬ: Теперь, когда вы показали свой код и заявили, что не используете движок ролей asp.net.

Вы используете куки-файл аутентификации форм, он появляется, поэтому переопределите AuthenticateRequest файла global.asax и установите распределите роли по мере необходимости и создайте свой билет.

Вот ' http://csharpdotnetfreak.blogspot.com/2009/02/formsauthentication-ticket-roles-aspnet.html

Образец только "получает" роли, но вы можете добавлять / изменять роли здесь.

6
ответ дан 30 November 2019 в 21:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: