Asp.net Azure vs owin和web.config中的授权
我有一个托管在Azure上的c应用程序。我已将应用程序配置为通过用户的Microsoft帐户使用外部身份验证,该帐户工作正常。但是,当我在web.config文件中添加authorization节点时,它定义了“deny users=?”,这没有什么区别——用户似乎可以浏览站点,无论他们是否登录。如果愿意,他们可以使用MS帐户登录,这很好 因此,我在Azure中发现了授权功能,它允许我使用Azure Active Directory并通过Azure管理门户对站点实施身份验证,这也很好。但现在我无法访问我的角色定义 我现在有点困惑,我的第一个问题是,有人知道为什么web.config中的authorization元素没有效果吗 其次,我认为应用程序中的外部身份验证提供程序完全独立于Azure身份验证提供程序,因此使用一个系统比使用另一个系统有优势吗?OWIN可以使用角色,这是一个建议-除了易于打开/关闭之外,使用Azure auth还有其他优势吗 相关配置部分Asp.net Azure vs owin和web.config中的授权,asp.net,authentication,azure,authorization,owin,Asp.net,Authentication,Azure,Authorization,Owin,我有一个托管在Azure上的c应用程序。我已将应用程序配置为通过用户的Microsoft帐户使用外部身份验证,该帐户工作正常。但是,当我在web.config文件中添加authorization节点时,它定义了“deny users=?”,这没有什么区别——用户似乎可以浏览站点,无论他们是否登录。如果愿意,他们可以使用MS帐户登录,这很好 因此,我在Azure中发现了授权功能,它允许我使用Azure Active Directory并通过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应用程序。你应该阅读详细的文章和样品在。这些示例很容易浏览并部署到Azure以测试不同的身份验证/授权方法。粘贴您确切的web.config部分-授权和身份验证,与system.webserver中的任何模块定义一起。下面是web.config部分:您有有趣的配置。首先将其设置为表单,然后从服务器中删除表单身份验证模块。嗯,当您删除FormsAuthenticationModule并将身份验证设置为Forms时,难怪每个人都可以在不提示输入用户/密码的情况下访问该网站。嗨,该部分是在某个时候自动添加的,可能是在VS中创建项目时,我尝试从web.config中删除'remove name=FormsAuthenticationmodule元素,但似乎没有任何区别。我会再试一次。我从web.config中删除了'remove name=FormsAuthenticationmodule元素,然后再试了一次,但当我访问网站时,它仍然不会强制登录。事实上,它的web表单仍在试图找出如何强制验证,因为authorize属性不起作用