2009-04-11 2 views
5

В реализации для моей службы у меня есть:Настройка WCF Forms Authentication

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

В моем файле .config у меня есть:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

и:

 
    <system.web.extensions> 
    <scripting> 
     <webServices> 
     <authenticationService enabled="true" requireSSL = "false"/> 
     </webServices> 
    </scripting> 
    </system.web.extensions> 

и:

<authentication mode="Forms" />

В методе "Login" для моей службы, у меня есть:

FormsAuthentication.SetAuthCookie(request.UserName, false);

Однако, когда я проверяю:

HttpContext.Current.User.Identity.Name

Это пустая строка. Что мне не хватает?

ответ

1

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

Для обслуживания было бы лучше использовать другой механизм аутентификации.

0

Предполагается, что вы проверяете идентификатор. Имя при последующем запросе?

У вас есть элемент в вашем web.config?

Также вы убедитесь, что захватили файл cookie из ответа на вход и повторно отправили его на последующие запросы?

1

Попробуйте вместо этого использовать ServiceContext.User.Identity.

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