具有webconfig的Asp.Net Core授权

时间:2018-08-16 08:56:50

标签: asp.net iis asp.net-core authorization

我们正在将我们的ASP.NET后台办公室迁移到ASP.NET核心,并且我坚持使用旧的授权方法。

有一个网站和后台。 这两个共享登录cookie(SSO,单点登录)。

该网站有200个用户,只有3个是管理员。 管理员是通过webconfig配置的,而我们只有很少的几个从未更改过。

实际上,由于SSO(通过公共网站使用共享cookie登录),所有用户都具有到后台的登录凭据

今天,所有未经授权的人都通过后台办公室web.config进行过滤:

 <location path="Default.aspx">
   <system.web>
     <authorization>
    <allow users="superadmin@backoffice.com" />
    <deny users="*"/>
  </authorization>
</system.web>

因此IIS会完成这项工作,并且其他人会忽略授权cookie。

有什么线索如何注销不在列表中的用户,以及哪些登录cookie已在我们的网站上授予新的ASP.NET核心解决方案?据我了解,这种webconfig配置已不再是一种情况...

1 个答案:

答案 0 :(得分:1)

是的,是的,不再使用web.configs。

您需要做什么:

  1. 使用中间件和扩展方法为IApplicationBuilderIServiceCollection注册cookie-authentication,并配置cookie名称

  2. 使用configuration-builder使用以下命令构建配置 appsettings.json个文件和/或环境变量。有一个 网站托管服务商正在构建的默认配置,该配置会添加 appsettings.jsonappsettings.{Environment}.jsonenvironment-variables进入您可以注入的配置 您的启动类(vs模板包含该类)。在这里,您将存储有关允许哪些用户的信息,而所有其他用户将不会被

  3. 编写自定义策略以拒绝所有其他用户,如here所述。