Я реализовал метод аутентификации в wcf и хочу знать, как контекст безопасности автоматически загружается перед каждым запросом к службе wcf?

Я новичок в концепциях аутентификации и авторизации. Я написал метод аутентификации в моем сервисе wcf. Методы службы wcf будут вызываться только аутентифицированными пользователями с определенными ролями. Как контекст безопасности автоматически загружается перед каждым запросом к службе wcf?


person user1086046    schedule 11.01.2012    source источник
comment
Просто любопытно, почему вы написали свой собственный метод - вы можете использовать принципы Windows и использовать требования разрешений на основе атрибутов для операций службы - msdn.microsoft.com/en-us/library/ms731200.aspx   -  person Ta01    schedule 11.01.2012
comment
Я пытался использовать уже существующий код аутентификации из предыдущей части того же проекта, атлеаты для первой фазы. Меня беспокоит то, что я не был уверен, как этот контекст безопасности загружается автоматически, чтобы я мог использовать! HttpContext.Current.User.Identity.IsAuthenticated в каждом из моих методов службы, чтобы проверить, действителен ли текущий пользователь, и проверить user.haspermission (имя роли ) для проверки авторизации. Я понимаю?   -  person user1086046    schedule 11.01.2012
comment
Я не совсем понял, что вы пытаетесь сделать. Вы хотите знать, как можно реализовать безопасные службы? Или вам интересно, как вы можете получить аутентифицированную личность после успешной аутентификации своего пользователя?   -  person Kassem    schedule 11.01.2012
comment
Я пытаюсь получить аутентифицированную личность после аутентификации пользователя.   -  person user1086046    schedule 11.01.2012
comment
Как я могу автоматически загружать SecurityContext перед тем, как к моей службе wcf будут поступать какие-либо запросы?   -  person user1086046    schedule 11.01.2012


Ответы (1)


Поскольку вы хотите получить аутентифицированную личность, вам может пригодиться следующая ссылка:

http://msdn.microsoft.com/en-us/library/aa347790.aspx

РЕДАКТИРОВАТЬ: если вы хотите автоматизировать это, вы должны написать оболочку для вашего хоста службы (то есть: класс, который наследуется от ServiceHost), чтобы инкапсулировать это внутри вашего хоста службы, вместо того, чтобы писать его снова и снова.

person Kassem    schedule 11.01.2012
comment
Спасибо, Кассем, думаю, это может быть полезно. - person user1086046; 11.01.2012
comment
как загружается OperationContext.Current.ServiceSecurityContext? Делаем ли мы это вручную или загружается автоматически? - person user1086046; 12.01.2012