2009-04-11 30 views
5

Trong việc thực hiện dịch vụ của tôi, tôi có:Cấu hình WCF Forms Authentication

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

Trong file .config của tôi, tôi có:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

và:

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

và:

<authentication mode="Forms" />

Trong phương thức "Đăng nhập" cho dịch vụ của mình, tôi có:

FormsAuthentication.SetAuthCookie(request.UserName, false);

Tuy nhiên, khi tôi kiểm tra:

HttpContext.Current.User.Identity.Name

Đó là một chuỗi rỗng. Tôi đang thiếu gì?

Trả lời

1

Xác thực mẫu được sử dụng khi bạn muốn người dùng điền vào biểu mẫu đăng nhập.

Đối với dịch vụ, tốt hơn nên sử dụng cơ chế xác thực khác.

0

Tôi cho rằng bạn đang kiểm tra Identity.Name theo yêu cầu tiếp theo?

Bạn có một phần tử trong web.config không?

Bạn cũng đảm bảo thu thập cookie từ phản hồi Đăng nhập và gửi lại nó trên các yêu cầu tiếp theo?

1

Hãy thử sử dụng ServiceContext.User.Identity thay thế.

Các vấn đề liên quan