servicestack,Asp.net Mvc 4,Authentication,servicestack" /> servicestack,Asp.net Mvc 4,Authentication,servicestack" />

Asp.net mvc 4 ServiceStack V4 MVC身份验证和JS客户端的使用

Asp.net mvc 4 ServiceStack V4 MVC身份验证和JS客户端的使用,asp.net-mvc-4,authentication,servicestack,Asp.net Mvc 4,Authentication,servicestack,我有一个新的MVC4项目,它是通过nuget中的MVC Starer包安装的。我已经通过ORMLite身份验证提供程序配置了身份验证,MSSQL作为备份存储 为了确保MVC4项目与SS正确集成,我已经准备好了。我使用这里描述的方法来解析AuthenticateService,并发布用户在UI中提供的凭据。成功认证后,我还设置了一个表单身份验证cookie,让MVC知道用户确实登录了。浏览站点并通过MVC控制器从api获取内容工作得非常好,但是,我想直接利用api来避免MVC控制器的开销 不过,这

我有一个新的MVC4项目,它是通过nuget中的MVC Starer包安装的。我已经通过ORMLite身份验证提供程序配置了身份验证,MSSQL作为备份存储

为了确保MVC4项目与SS正确集成,我已经准备好了。我使用这里描述的方法来解析
AuthenticateService
,并发布用户在UI中提供的凭据。成功认证后,我还设置了一个
表单身份验证
cookie,让MVC知道用户确实登录了。浏览站点并通过MVC控制器从api获取内容工作得非常好,但是,我想直接利用api来避免MVC控制器的开销

不过,这里有一个有趣的部分:如果我试图通过浏览器(或通过jQuery)访问API方法,我只会收到HTTP 302,将我发送到
/login
,结果是404,因为我没有这样的页面

如果我检查通过Chrome开发工具发送的cookie,它看起来是这样的(+为了简洁起见省略了一些其他cookie):

因此,似乎授权详细信息已发送给SS。然后,如果我启动Postman并直接针对API执行身份验证(通过
POST/API/auth
),Google Chrome和jQuery就能够直接从
/API
路由获取信息


我在这里遗漏了什么?

我发现了。结果证明,我创建了一个函数,在成功登录后将一些额外数据保存到会话中,该函数破坏了会话数据,使我无法通过http请求与API进行正确通信。

我只是在为您敲打桌子:)很高兴您找到了答案
ss-id Ve5wdbKiR5VVlu5uQPjF
ss-opt perm
ss-pid zyvcwXomzufMMfkoEN64