我对我收到的一项要求以及如何正确填写它感到困惑......我希望有人可以帮助我弄清楚。
我必须将身份验证/授权添加到仅由客户的Intranet用户使用的现有MVC 5 Intranet应用程序中。此Web应用程序托管一个AngularJs应用程序,该应用程序使用一组WebApi(托管在同一个Intranet中,仅用于Intranet目的)。
应用程序将由可以拥有不同授权的不同类型的用户使用(例如:可以创建内容,可以修改内容,可以删除内容),并且必须针对不同国家拒绝这些授权(从概念上讲,将国家视为一个子网站)。因此,用户可以是法国的“管理员”(将管理员视为具有所有拨款的用户),但是对于德国来说是一个简单的用户,而对于其他国家则完全没有授权。
要求是使用AD进行身份验证,但不能用于授权目的。
我不是安全专家,我做了一些研究,试图了解可能的解决方案。我理解的最重要的事情是将身份验证与授权分开。 从简单的身份验证角度来看,它很容易使用AD(或Windows Auth)。
我缺少的是如何执行授权部分。
我已经看到很多ASP.Net Identity与个人帐户的教程,一切都很简单明了,因为它使用UserManager在数据库上执行查找,以便用户验证身份验证,并从中获取角色数据(将这些信息保存在cookie中)。
我需要了解处理我的场景的正确方法。
用户应该使用它的域凭据登录,然后我应该收到来自AD的响应,如果可以,我应该从我的数据库中获取相应的用户并检索其角色数据...正确吗?
如果是这样,我怎么能执行这些任务。 这是解决问题的错误方法吗? 如果是这样,我该怎么做? 将auth / entication / orization令牌“传递”到WebApi以便保护它们的最佳方法是什么? 最后一个问题......是否可以通过仅使用AD来满足要求(不依靠数据库进行授权)?
很抱歉(最有可能)沉闷的问题,但我觉得我错过了一些非常关键点。