Asp.net mvc 4 ServiceStack V4 MVC身份验证和JS客户端的使用
我有一个新的MVC4项目,它是通过nuget中的MVC Starer包安装的。我已经通过ORMLite身份验证提供程序配置了身份验证,MSSQL作为备份存储 为了确保MVC4项目与SS正确集成,我已经准备好了。我使用这里描述的方法来解析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控制器的开销 不过,这
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