asp.net - Azure 与 owin 和 web.config 中的授权

标签 asp.net authentication azure authorization owin

我有一个托管在 Azure 上的 C# 应用程序。我已将应用程序配置为通过用户的 Microsoft 帐户使用外部身份验证,工作正常。但是,当我在 web.config 文件中添加授权节点(定义“拒绝用户=”?”)时,这没有什么区别 - 用户似乎可以浏览该网站,无论是否登录。如果他们选择的话,他们可以使用他们的 MS 帐户登录,而且效果很好。

因此,通过研究这一点,我发现了 Azure 中的授权功能,它允许我使用 Azure Active Directory 并通过 Azure 管理门户强制对站点进行身份验证,这也可以正常工作。但现在我无法访问我的角色定义。

所以我现在有点困惑,我的第一个问题是,有谁知道为什么 web.config 中的授权元素没有效果?

其次,我认为应用程序中的外部身份验证提供程序是完全独立且独立于 Azure 身份验证提供程序的想法是否正确,那么使用一个系统相对于另一个系统是否有优势? OWIN 可以使用角色,这是一个优点 - 除了易于打开/关闭之外,使用 Azure 身份验证还有其他优点吗?

相关配置部分

<configuration> 
 <system.web> 
   <authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login.aspx" timeout="60" defaultUrl="~/" protection="All"/> 
   </authentication> 
   <authorization> 
    <allow users="*"/> 
    <deny users="?"/> 
   </authorization> 
 </system.web> 
 <system.webServer> 
  <modules> 
   <remove name="FormsAuthenticationModule" /> 
  </modules> 
 </system.webServer> 
</configuration> 

最佳答案

您正在混合授权模式。由于您使用的是 OWIN 和 c#,我假设您的应用程序是 MVC 应用程序。您应该阅读 Getting Started with Asp.Net Identity 上的详细文章和示例。 。这些示例很容易演练并部署到 Azure 以测试不同的身份验证/授权方法。

关于asp.net - Azure 与 owin 和 web.config 中的授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29374735/

相关文章:

javascript - 从 CodeBehind 调用 JavaScript 函数无法填充 getElementbyID

Internet Explorer 中的 ASP.Net 禁止 URL

javascript - 如何在选择的数据加载之前显示进度条?

python - 尝试使用 stormpath 实现基于 oauth/token 的登录

python - 使用 Requests Post 登录此站点无效

c# - 如何为 Azure Function 中的 Application Insight 中的请求设置 user_AuthenticatedId?

sql - Azure 数据工厂查询 Mongo DB 以筛选日期

asp.net - Crystal Report over ASP.Net 运行时数据源更改

android - window.FirebasePlugin.verifyPhoneNumber is not a function 错误

azure - 尝试在 Azure 中部署 Echobot 时如何解决“访问被拒绝”错误?