业务线应用程序的单页应用程序(角度2)

时间:2016-10-04 10:10:07

标签: asp.net angular single-page-application line-of-business-app

这些天我面临着一个根本问题 - 我们称之为建筑设计决策。

所以我和我的团队为我的公司建立了典型的业务线(lob)-web-applications。为了我的目的,lob尤其意味着:

  • 许多用户交互(输入数据,CRUD实体,显示数据,汇总数据,统计和报告,验证等)
  • 非常严格(用户必须登录,用户具有不同的权限级别,他们可以对不同的实体进行不同类型的更改,显示各种报告等)

举个例子,让我们采用普通的审批工作流程:我需要一台新的笔记本电脑,所以我转到“ressources-webApp”并创建一个新的采购申请。我的老板收到通知,必须批准我的请求。在下一步中,适当的部门必须购买笔记本电脑并完成我的申请。

我知道这是一个简单的“hello world” - 例如,在现实生活中你会使用现有的软件(SAP或类似的东西),但它很好地描述了我的用例:数据驱动和非常严格(我可以看到我部门的所有请求,但只能更改或删除我的部门,我不应该看到批准的页面或致电批准 - api,我的老板应该只看到他的员工的请求,但不是为了雇员另一个部门,我的老板和我都不应该看到该页面或能够完成申请等等。)

目前我们正在将ASP.NET MVC和WebAPI与angularjs 1结合使用。对于每个“action”(页面或视图),都存在一个mvc-controller,它监听特定路由并返回相应的视图。每个视图都引用一个特定的角度控制器。每个视图也可以由不同的“部分视图”(组件或控件)组成。为了处理数据,角度控制器调用webAPI控制器,它也监听特定路由并处理请求(GET / POST / PUT / DELETE)。如果允许用户打开页面或调用操作,则每个控制器(mvc和webAPI)都会检查cookie中的每个http请求的授权令牌。

现在我想知道如何在角度为2的SPA应用程序中执行此操作。对于我来说,Angular 2听起来非常有趣并且比角度1有一些好处,所以我想尝试角度2.看起来有角度2你只能构建一个SPA应用程序(与我上面提到的“经典”MPA应用程序相比,其中每个页面都来自服务器并包含一个角度控制器)。

一般来说,我并不喜欢SPA,但我不确定如何处理上述安全问题。

此外,SPA还存在其他常见问题:无法在浏览器中使用后退按钮,无法直接在浏览器中输入特定网址,也无法添加书签等。

那么,您对我有什么建议,小费或最佳实践吗?你认为SPA对于lob-web应用程序来说是一个很好的“模式”吗?如果是的话,您将如何处理安全问题以及其他常见的SPA问题?

祝你好运, 亚历

0 个答案:

没有答案