WebMatrix WebSecurity未返回当前用户ID

时间:2012-05-03 15:16:37

标签: javascript asp.net cordova razor webmatrix

我有两个请求由同一个$ .ajax请求创建,但一个来自Google Chrome,另一个来自PhoneGap应用程序。 WebMatrix应用程序应该返回已提交用户名和密码凭据的用户的ID(PS:这不是应用程序的重点,但为了这个问题它已经简化了。)

基于浏览器的请求有效但PhoneGap没有。你知道为什么吗?我已添加了Chrome请求标题,但我无法获取完整的PhoneGap应用程序标题。

我找到了解决这个问题的方法,但它确实让我觉得它不起作用。

WebMatrix应用程序代码

if(IsPost){
        var username = Request.Form["username"];
        var password = Request.Form["password"];
        var rememberMe = Request.Form["rememberMe"].AsBool();
        var credentials = false;

        if(!username.IsEmpty() && !password.IsEmpty()){
            credentials = true;
        }

        if (credentials && WebSecurity.Login(username, password, rememberMe)) {

            Response.Write(WebSecurity.CurrentUserId);
        }
}

Google Chrome请求标题细分 -

Accept:application/json, text/javascript, */*; q=0.01
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:105
Content-Type:application/x-www-form-urlencoded
Cookie:ASP.NET_SessionId=XXXXXXX
Host:xxxxxxxxxxx
Origin:file://
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19

0 个答案:

没有答案