[WCF] Rest и Авторизация
От: gBopHuk Россия  
Дата: 25.05.11 07:02
Оценка:
Подскажите пожалуйста,
я написал свой CustomRoleProvider, переопределил в нем GetRolesForUser(string username) и в App.cfg приложения написал, чтоб он использовался по умолчанию.
К методу веб-сервиса добавляю атрибут
[PrincipalPermission(SecurityAction.Demand, Role = "Admin")]

и все падает с SecurityException'ом.
Вопрос в том, откуда RoleProvider берет username? Если из хэдера авторизации, то правильно ли я делаю на клиенте:

var request = new HttpRequestMessage("GET", "http://mysite.com/units");
request.Headers["Authorization"] = "myLogin:myPassword";


После логина, я отправляю клиенту SessionId, кэширую его на сервере и хочу чтоб дальше клиент отправлял мне только SessionId, а не пару логин + пароль. Как тогда заставить RoleProvider работать?
У меня еще есть AuthenticationInterceptor, навешенный на все сервисы. Может быть подменять хэдер авторизации в пришедшем запросе и класть туда логин пароль вместо SessionId?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.