【问题标题】:Back office and front end separation后台与前端分离
【发布时间】:2015-06-27 11:58:34
【问题描述】:

我们正在实施带有管理 CMS 和前端用户登录区域的身份 2.0。

他们应该单独由角色分开吗?那么管理员有自己的角色,前端用户有自己的角色吗?然后只需在登录后重定向并根据您是否在 /userarea/(前端用户)和 /cms/(后台)按角色进行身份验证?

由于它是基于 cookie 的,您是否必须先重定向才能检查已登录用户的角色?

【问题讨论】:

  • 不正确,您不必在检查角色之前重定向,而是在检查之后。

标签: c# .net security roles asp.net-identity-2


【解决方案1】:

按角色分离是最常用的方法。也就是说,与站点上的顶级对象(文件夹)相比,这些角色的分配粒度要大得多。例如,可能有一个 /userarea/admins/ 具有管理员角色。

还为各个角色分配了安全级别。在检查对象的整个路径的情况下,将选择分配给路径任何部分的最高(或最严格)安全“级别”,并且用户必须是该角色的成员才能被允许访问.

重定向是将用户重定向到身份验证服务,该服务通常与提供网站页面的系统不同。用户通过身份验证后,会向他或她提供一个包含唯一标识符的 cookie,该标识符将告诉您的安全代理服务器该用户有权访问哪些对象。

【讨论】:

  • OK - 我想在实际登录之前检查用户的角色。用户管理器 PasswordSignIn() 将他们登录,但我如何传递用户名和密码来检索用户 ID并且不让他们登录?
  • 啊 - 我必须使用 FindByName 吗?所以我不一定需要知道密码来检查角色。
  • 这取决于用户注册表。我使用/见过的大多数都不需要您特别知道用户密码。许多网络安全门户将对用户注册表执行 LDAP 绑定调用,并使用 uid 和加密密码(您拥有它,但不“知道”它)。返回的信息(如果成功)将包含用户有权访问的角色和/或组,以及该凭证的到期信息 - 生命周期、超时等。网络安全门户将为您完成几乎所有这些工作.
猜你喜欢
  • 1970-01-01
  • 2018-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多