小编vot*_*ive的帖子

web.config httpErrors部分和WebAPI区域可以共存吗?

我有一个ASP.net MVC 5项目,其中包含特定"API"区域中的WebAPI.我在我的web.config中启用了IIS7错误处理,如下所示:

<system.webServer>
    <httpErrors errorMode="Custom" existingResponse="Replace">
        <remove statusCode="400" subStatusCode="-1" />
        <remove statusCode="404" subStatusCode="-1" />
        <remove statusCode="500" subStatusCode="-1" />
        <error statusCode="400" path="400.html" responseMode="File" />
        <error statusCode="404" path="404.html" responseMode="File" />
        <error statusCode="500" path="500.html" responseMode="File" />
    </httpErrors>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

当发生404/500等时,这向MVC网站的用户显示友好消息.当从WebAPI返回特定(合法)状态代码时(例如,调用`/ api/token'时为400),我的问题就出现了.在这些情况下,响应的JSON内容被IIS截获,我的友好消息HTML作为响应返回,而不是来自WebAPI的原始JSON.是否可以从IIS错误处理中排除'API'区域?如果无法做到这一点,那么允许ASP.net MVC网站友好消息和WebAPI JSON响应共存的正确解决方案是什么?

asp.net-mvc iis-7 json asp.net-web-api asp.net-identity-2

14
推荐指数
1
解决办法
5433
查看次数

从源代码管理部署Azure网站期间的Web.config转换

我正在尝试从源代码控制(GitHub)自动部署源代码.一切正常,只有一个例外 - web.config没有正确转换.我有以下web.config转换设置:

Web.CloudLIVE.config
Web.CloudTEST.config

我正在使用Release配置在解决方案中构建项目.我想要做的是在Azure门户的App Settings中指定要应用的正确web.config转换('CloudTEST'或'CloudLIVE'),然后在将源代码推送到GitHub时正确转换web.config.是否有可能做到这一点?

asp.net asp.net-mvc azure

9
推荐指数
1
解决办法
1804
查看次数

如何将ASP.net Identity与第三方REST服务一起使用进行身份验证?

我有一个现有的ASP.net MVC和WebAPI组合网站,该网站使用标准UserManager类使用实体框架执行身份验证。现在,我需要“交换”该身份验证,并使用外部的第三方REST Web服务进行身份验证以及存储和更新用户详细信息。

第三方Web服务具有一个简单的login终结点,该终结点使用用户名和密码,如果登录成功,它将返回令牌。

如果可能的话,我希望AspNetRoles在用户登录后继续使用ASP.net Identity 表来管理用户的角色。

实施此方案的最佳方法是什么?我最初考虑编写一个自定义,UserStore但是假设我可以访问密码哈希,而我没有。我只能使用第三方API端点登录并更新密码,我无法直接访问数据库用户表。

asp.net authentication asp.net-mvc entity-framework asp.net-identity

2
推荐指数
1
解决办法
701
查看次数